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,结构化成表,再通过连接层返回给用户