mysql—day02-mysql

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 误删除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
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
什么是MySQL?
这篇文章介绍了MySQL,一个流行的开源数据库系统,用于Web应用。MySQL基于客户机/服务器架构,允许多用户并发访问并提供安全控制。它支持SQL标准,包括数据类型如数值、字符串和日期,以及内置函数。查询语言SQL是其核心,强调非过程化编程,简化数据操作。示例展示了如何用SQL选择特定记录。
98 4
什么是MySQL?
|
4月前
|
SQL 存储 安全
MySQL3
MySQL
50 8
|
4月前
|
SQL 监控 关系型数据库
mysql统计数据库大小
通过这些方法,数据库管理员可以有效地监控和规划MySQL数据库的存储需求,确保数据库的稳定运行。
101 0
|
存储 关系型数据库 MySQL
MySQL
能说下myisam 和 innodb的区别吗? • myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。 • innodb是基于B+Tree索引建立的,和myisam相反它支持事务、外键,并且通过MVCC来支持高并发,索引和数据存储在一起。
54 0
|
7月前
|
SQL 存储 关系型数据库
初识MYSQL
初识MYSQL
122 0
|
存储 缓存 关系型数据库
mysql总结(下)
mysql总结
55 0
|
存储 缓存 关系型数据库
mysql
mysql
79 2
|
关系型数据库 MySQL
mysql特点
mysql特点
128 0
|
SQL 存储 缓存
MySQL再发一弹,不要再说不会了!
本文主要介绍 Mysql开发和面试中所必知的
129 0
|
存储 SQL 关系型数据库
MYSQL
MYSQL
171 0
MYSQL