mysql—day02-mysql

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 误删除root用户解决方法1

误删除root用户解决方法1

1)停止数据库
[root@db02  ~]# /etc/init.d/mysqld stop 
2)跳过授权表,跳过网络启动数据库
[root@db02  ~]# mysqld_safe --skip-grant-tables --skip-networking & 
3)连接数据库
[root@db02  ~]# mysql 
4)插入新root用户
insert into mysql.user values ('localhost','root',PASSWORD('123'),
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'',
'',
'',
'',0,0,0,0,'mysql_native_password','','N');
5)重启MySQL
[root@db01  ~]# mysqladmin shutdown 
[root@db01  ~]# /etc/init.d/mysqld start 
Starting MySQL. SUCCESS!
创建超级用户
mysql> grant all on *.*  to root@'192.168.110.12' identified by '123' with grant option;

误删除root用户解决方法2

1)停止数据库
[root@db02  ~]# /etc/init.d/mysqld stop 
2)跳过授权表,跳过网络启动数据库
[root@db02  ~]# mysqld_safe --skip-grant-tables --skip-networking & 
3)连接数据库
[root@db02  ~]# mysql 
4)刷新授权表
mysql> flush privileges;
5)创建root超级用户
mysql> grant all on . to root@'localhost' identified by '123' with grant option;

mysqld服务器程序构成

image.png

1.连接层:


  • 验证用户合法性(用户名/密码/端口)
  • 提供tcp/socket连接方式
  • 提供一个专用连接层的线程(接收sql返回结果),将sql交给sql层处理

2.sql层


  • 接收连接层传来的sql语句
  • 检查sql语法是否正确
  • 检查语义(DDL DML DQL DCL) 检查show select grant
  • 解析器,解析sql语句,生成多种执行计划
  • 优化器,根据多种执行计划选择最优方式。
  • 执行器,执行优化器传来的最优方式sql;
  • 提供跟存储引擎层交互的线程
  • 接收返回数据,优化成表的形式返回sql
  • 将数据存入缓存
  • 记录binlog日志

3.存储引擎层

  • 接收sql传来的sql语句
  • 去磁盘找到要找的数据
  • 提供一个与sql层交互的线程,返回给sql层,结构化成表的形式。




MySQL程序连接方式:

1.TCP/IP连接

mysql -uroot -p123 -h127.0.0.1

1)并不是所有的-h都是TCP/IP连接

2)所有的远程连接都是TCP/IP连接


2.socket连接

mysql -uroot -p123 -S /tmp/mysql.sock

mysql -uroot -p123

mysql -uroot -p123 -hlocalhost


1.MySQL默认连接方式是socket连接

2.socket连接速度快,因为不需要建立三次握手


什么是实例?

1.MySQL的后台进程+线程+预分配的内存结构。

2.MySQL在启动的过程中会启动后台守护进程,并生成工作线程,预分配内存结构供MySQL处理数据使用。


MySQL的结构

image.png

查看当前所在库

mysql> select database();
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
JavaWeb基础1——MySQL
SQL语句、DDL、DML、DQL(分组查询、子查询等)、Navicat、约束、 一对多等数据库设计、多表查询(联合查询/连接查询)、事务、函数
JavaWeb基础1——MySQL
|
6月前
|
SQL 关系型数据库 MySQL
MySQL
MySQL
33 1
|
8月前
|
SQL 存储 关系型数据库
初识MYSQL
初识MYSQL
124 0
|
存储 关系型数据库 MySQL
mysql为什么不推荐用空
mysql为什么不推荐用空
144 0
|
SQL 存储 缓存
|
关系型数据库 MySQL 数据库
mysql实用篇
mysql实用篇
|
存储 SQL 安全
MySQL(十)
MySQL(十),一起来学习吧。
|
关系型数据库 MySQL
07_mysql中having的使用_having与where的对比
mysql中having的使用 having与where的对比
194 0
07_mysql中having的使用_having与where的对比
|
关系型数据库 MySQL
MySQL练习13——where in和not in
MySQL练习13——where in和not in!
|
SQL 关系型数据库 MySQL
Mysql 系列 一 explan
explan在数据库中的作用以及字段详解