MySQL_day1

1、数据库管理系统:

RDBMS:Oracle,MySQL,PG,MSSQL.
NOSQL:MongoDB,Redis,ES
NEWSQL(分布式数据库):TiDB,Spanner,AliSQL.PolarDB

2、MySQL 企业版本GA选择

5.6 :34、36、38、40
5.7:18、20、24
8.0:14、15、16

3.centos7.x 通过systemd管理MySQL

  cat >/etc/systemd/system/mysqld.service <

4.MySQL常见问题排错思路

查看错误日志
具体路径为数据目录下的主机名.err

5.重置root密码

关闭数据库

systemctl stop mysqld

启动mysqld维护模式

mysqld_safe --skip-grant-tables --skip-networking &
--skip 跳过   -grant 授权 -tables表  networking 外网连接

登录并修改密码

mysql> flush privileges;
mysql> alter user root@'localhost' identified by '1';
Query OK, 0 rows affected (0.01 sec)

关闭数据库

killall mysqld

最后在启动mysql 输入更改后的密码

6.mysql程序结构

(1)连接层

1.提供了连接协议

socket---->本地连接
tcp/ip----->网络连接

2.验证用户名和密码的合法性,匹配专用授权表。
3.派生专用的线程

(2)SQL层

5.7开启了语法严格模式

 1.验证SQL语法和SQL_MODE
 2.验证语义
 3.验证权限
 4.解析器进行语句解析,生成执行计划(解析数)
 5.优化器(多种算法,基于执行代价)根据算法,找到代价最低的执行
 代价:    CPU     I/O    MEM    资源的消耗
 6.执行器按照优化器选择的执行计划,执行SQL语句。  
 7.提供query cache(默认不开),使用redis替代
 8.记录操作日志(binlog)默认不开

(3)存储引擎层
从磁盘存取数据,返回SQL,结构化成表,再通过连接层返回给用户

你可能感兴趣的:(MySQL_day1)