当前位置: 首页 > Linux

MySQL服务启动脚本的理解和使用

时间:2023-04-06 20:03:04 Linux

MySQL在类Unix系统上安装时包含一个mysql.server启动脚本,它通过mysqld_safe命令启动MySQL服务,但我们通常将这个启动脚本重命名为mysqld或mysql。这个启动脚本在一些系统上安装的时候默认注册了,使用起来很方便,但是在其他系统上默认没有注册,因为没有必要,需要我们手动注册服务。mysql.server启动脚本我们可以很方便的调用这个启动脚本:shell>mysql.serverstart|stopmysql.server启动脚本首先进入mysql注册目录,然后调用mysqld_safe命令,调用时会默认使用/etc/my.cnf;~/my.cnf两个配置文件,所以如果想要更精准的控制启动后,可以修改相关的配置文件。我们可以查看启动脚本的内容:shell>vim/home/work/mysql/support-files/mysql.server#如果你把MySQL安装在/usr/local/mysql以外的其他地方,那么你#必须做执行此脚本的以下操作之一:##-从MySQL安装目录中运行此脚本#-创建一个包含以下信息的/etc/my.cnf文件:#[mysqld]#basedir=#-将以上内容添加到任何其他配置文件(例如~/.my.ini)#并将my_print_defaults复制到/usr/bin#-将mysql-installation-directory的路径添加到basedir变量#下面.#basedir=/home/work/mysql/datadir=/home/work/mysql/data/可以看到默认的安装位置是/usr/local/mysql,我们很多人的安装路径可能和这个不一致,如果需要通过启动脚本启动,需要修改这个启动文件中basedir/datadir的位置,默认为空。使用启动选项时,启动脚本会从配置文件中读取[mysql.server]和[mysqld]两个配置块的启动选项,所以我们一般设置为:[mysqld]datadir=/home/work/mysql/data/socket=/home/work/mysql/tmp/mysql.sockport=3306user=mysqlpid-file=/home/work/mysql/tmp/mysqld.pid[mysql.server]basedir=/home/work/mysqlmysql.server启动脚本在命令行只支持两个参数start|stop,更多的参数通过配置文件指定:#只支持这4个参数[mysql.server]basedir=MySQL安装目录datadir=MySQL数据目录pid-file=存放MySQL服务进程ID的文件service-startup-timeout=等待启动成功的超时时间,默认900s,默认无限等待,超时报错退出如果pid-file不指定,${host_name默认在data目录下创建}.pid文件,指定时[mysqld_safe]配置块优先级最高,但是启动脚本读取的是[mysqld]配置块,所以如果使用启动脚本,可以在两个配置块配置相同的内容。使用mysqladmin关闭服务除了启动脚本启动和关闭,我们还可以这样关闭服务:shell>~/mysql/bin/mysqladminshutdown-p输入密码:(这里输入root密码)注册服务就是简单的把启动脚本放到系统级服务service下,重命名为mysqld:shell>ln-S~/mysql/support-files/mysql.server/etc/init.d/mysqldshell>servicemysqldstart|stop|status具体注册可以参考我的另一篇文章:使用service命令管理mysql的启动和关闭。Autostartatboot我们也可以设置相关的开机自启动:shell>chkconfig--addmysqldshell>chkconfig--listReferences4.3.3mysql.server--MySQLServerStartupScript:https://dev.mysql.com/doc/ref...使用service命令管理mysql的启动和关闭:https://segmentfault.com/a/11...