在 Unix 机器上,MySQL 官方推荐使用
mysqld_safe
启动mysqld
服务。mysqld_safe
增加了一些安全特性,比如它会在遇到错误时重启mysqld
服务,并把运行时信息记录到 error log 中。
介绍
mysqld_safe
将试图启动一个名为 mysqld
的可执行文件。你可以覆盖这个默认行为,使它运行你指定的 mysqld
程序。
另外,mysqld_safe
的许多选项与 mysqld
是相同的。你可以在这个 链接
中查看它支持的所有选项。
使用
如何使用 mysqld_safe
命令,启动或停止 mysqld
服务呢?
启动
以 Linux 为例,使用 mysqld_safe
启动 mysqld
服务的命令。
mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &
其中 --defaults-file=my.cnf
指定了默认的配置文件为当前目录下的 my.cnf
,我在里面指定了端口为 3306。> mysqld_log
指定了将标准输出重定向到 msyqld.log
,2>&1
表示将标准错误输出重定向到标准输出,末尾的 &
表示后台运行。因此,执行上述命令,我们使用 mysqld_safe
和 my.cnf
中的配置启动了一个 mysqld
进程,它始终在后台运行,所有的输出(包括错误输出)都将汇集到 mysqld.log
文件中。
按下回车执行命令后,终端将返回这个任务的编号和进程号,如果后续想要再次查看,可以通过 jobs -l
命令来查看当前 Shell 环境中所有的任务。
[root@centos conf]# mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &
[1] 37225
[root@centos conf]# jobs -l
[1]+ 37225 Running mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &
其中 [1]
代表任务号,+
代表这是最近一个任务,37225
代表进程号 PID,剩下的代表启动任务的命令。
至此,mysqld
服务启动成功。我们可以执行下述命令来尝试连接它。
[mysql@centos ~]$ mysql -h127.0.0.1 -P3306 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
如上,显示 Welcome
则连接成功。
停止
执行下述命令查看 mysqld
的 PID:
netstat -antp | grep mysqld
找到绑定地址为:::3306
的进程,执行下述命令以杀死 mysqld
进程:
kill $PID
本文使用 CC BY-SA 4.0 国际协议 进行许可,欢迎 遵照协议规定 转载。
作者:六开箱
链接:https://lkxed.github.io/posts/mysqld-safe/ \