1.MySQL启动与关闭方式
(1).常规启动和关闭方式(推荐)
#以下3种方式方便我们管理mysql的启动
方式1:systemd (需配置)
systemctl {stop|start|restart} mysqld
方式2:sys-v (需配置)
service mysqld {stop|start|restart}
方式3:/etc/init.d/mysqld start (需配置)
#以下2种方式方便我们理解mysql启动原理和mysql目录结构
1.利用mysql.server脚本
sh /usr/local/mysql/support-files/mysql.server stop|start|restart
2.利用mysqld_safe启动
mysqld_safe defaults-files=/etc/my.cnf &
#二进制安装,上述命令的启动脚本来自于mysql解压目录mysql/support-files/mysql.server
上述命令的本质:
停止原理:kill mysql_pid
启动原理:mysqld_safe 进程拉起mysql进程
(2).维护性启动和关闭方式
1.维护性启动方式(往往需要额外加参数启动)
mysqld --port=3306 --mysqlx=0 & #--mysqlx=0为关闭33060端口,这是8.0增加的功能
mysqld_safe --skip-grant-tables --skip-networking & #root管理员密码丢失使用这个命令启动
使用mysqld和mysqld_safe启动优势:可以额外加参数启动,命令行高于配置文件my.cnf里的配置
2.维护性关闭方式
kill、killall、pkill,在不接任何参数的情况下,这几个命令发送的信号默认都是TERM(15),表示停止,但进程有权忽略该信号。示例如下:
kill pid #<==杀死指定pid的进程
killall mysqld #<==杀死所有同名进程
#注意:千万不要用-9.
1.重启系统
2.备份数据库文件,在杀
以下关闭数据库的操作应禁止使用,这很可能会导致MySQL数据库无法启动
killall -9 mysqld #<==这里的-9信号表示强制杀死进程
kill -9 pid #<==这里的-9信号表示强制杀死进程
参考此表了解更mysql端口作用MySQL 端口参考 表https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html#mysql-client-server-ports
(3).其它关闭方式
#命令行利用mysqladmin
mysqladmin -uroot -poldboy123 shutdown #<==注意密码要正确。
#登录到数据库里面执行关闭
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)
mysql> 2022-04-17T04:43:32.756478Z mysqld_safe mysqld from pid file /data/3306/data/mysql8.0.pid ended
mysql> restart; #重启后最好重新登录一下
Query OK, 0 rows affected (0.00 sec)
mysql> Restarting mysqld...
2022-04-17T04:41:36.878768Z mysqld_safe Number of processes running now: 0
2022-04-17T04:41:36.885339Z mysqld_safe mysqld restarted
mysql>
(4).mysqld_safe进程说明
MySQL自带mysql.server启动脚本,执行脚本后最终会调用mysqld_safe命令脚本,mysqld_safe脚本执行后又会调用mysqld主程序启动MySQL服务,因此在查看MySQL进程时,会发现不仅有mysqld_safe进程,还有mysqld进程