今日内容:
1.MySQL体系结构简单介绍 理解
2.连接管理 理解
3.配置管理 理解
4.用户管理 掌握
5.权限管理 理解
第1章 MySQL体系结构简单介绍
1.MySQL C/S结构 Clinet/Server
Clinet:
mysql命令
图形化工具
代码程序的mysql驱动
连接方式:
本地的socket文件直连
远程的IP+Port
2.mysqld核心程序工作原理
连接层:
- 接受用户连接请求
- 验证账号密码
- 连接线程
SQL处理层:
处理用户的SQL语句
数据处理层:
将SQL层执行的结果落地到磁盘上
第2章 MySQL启动关闭原理
1.myslqd_safe和mysqld
mysqld_safe作用:
1).官方提供的启动脚本最终会调用mysqld_safe命令脚本,然后mysqld_safe脚本又会调用mysqld主程序启动MySQL服务。
2).最终都是由mysqld启动,mysqld_safe可以看做是mysqld的守护进程。
3).mysqld_safe会启动并监视mysqld,如果mysqld发生意外错误可以重启服务。
4).mysqld_safe启动可以将mysqld的错误消息发送到数据目录中的host_name.err文件
5).可以读取的配置部分[mysqld],[server],[myslqd_safe], 为了兼容mysql_safe也会读取[safe_mysqld]中的配置
6).调用的mysqld是可以在[mysqld_safe]中用-mysqld, --mysqld-version指定
mysqld作用:
1).mysqld是mysql的核心程序,用于管理mysql的数据库文件以及用户的请求操作。
2).mysqld可以读取配置文件中的[mysqld]的部分
2.myslqd_safe和mysqld的应用场景
正常情况:
myslqd_safe
排错的时候:
如果启动失败并且不打日志,那么直接使用mysqld --defaults-file=/etc/my.cnf启动,此时会将报错打印到屏幕上
3.关闭myslq的正确姿势
脚本关闭:
/etc/init.d/mysqld stop
systemctl stop mysqld
命令关闭:
mysql -uroot -p123 -e "shutdown;"
kill系列:
kill pid
pkill mysql
killall mysql
如果使用shutdown关闭数据库后,使用systemctl status mysqld查看状态,就会发现mysql还是启动状态,但是使用ps -ef |grep mysqld没有启动成功
也找不到3306端口号
第3章 MySQL配置管理
1.mysqld默认支持读取的配置文件路径
mysqld --help --verbose |grep my.cnf
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf
2.默认配置优先级
1 /etc/my.cnf
2 /etc/mysql/my.cnf
3 /usr/local/mysql/etc/my.cnf
4 ~/.my.cnf
3.优先级之间的关系
如果多个配置文件参数一样,那么都一样
如果多个配置文件参数不一样,以最后读到的配置为准
如果前面的有,后面的没有,前面的也会读取生效