MySQL认证教程:自动运行和停止MySQL
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询MySQL认证教程:自动运行和停止MySQL,如果安装一个实用的数据库系统,那么让每次系统重新启动时数据库服务器自动运行是一个好主意。
一、我们现在可以由两种方法启动数据库:
1、 可以用safe_MySQLd脚本来启动数据库:
$ safe_MySQLd &
safe_MySQLd脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。
2、MySQL.server脚本可以被用来启动或停止服务器,通过用start或stop参数调用它:
$ MySQL.server start
$MySQL.server stop
MySQL.server stop通过向服务器发出一个信号停止它。你可手工执行MySQLadmin shutdown关闭服务器。
MySQL.server可在MySQL二进制分发安装目录下的“share/mysql”目录里找到,或在MySQL源代码树的“support-files”目录下找到。
二、让服务器以指定的Unix用户执行
方法一:修改MySQL.server脚本
当然,这样只对使用MySQL.server脚本启动系统的方法其作用。
在MySQL.server启动服务器之前,它把目录改变到MySQL安装目录,然后调用safe_MySQLd。如果你有在一个非标准的地点安装的二进制分发,你可能需要编辑MySQL.server。修改它,运行safe_MySQLd前,cd到正确的目录。如果你想要作为一些特定的用户运行服务器,你可以改变MySQL_daemon_user=root行使用其他用户,你也能修改MySQL.server把其他选项传给safe_MySQLd。
方法二:使用选项文件
通过使用选项文件,你也可以也可以避免修改MySQL.server脚本。使用选项文件也可以使safe_MySQLd脚本通过特定用户启动MySQLd守护程序。
你也可以在一个全局“/etc/my.cnf”文件中增加MySQL.server的选项。一个典型的“/etc/my.cnf”文件的一部分可能看起来像这样:
[MySQL.server]
user=MySQL
basedir=/usr/local/mysql
MySQL.server脚本使用下列变量:user、datadir、basedir、bindir和pid-file。
当然这样只对MySQL.server脚本起作用,可以把user选项加到[MySQLd]段中,由于这两个脚本都调用MySQLd守护程序,因此,这样可以从特定用户启动。
[MySQLd]
user=MySQL
basedir=/usr/local/mysql
MySQLd守护程序接受的选项可以由命令MySQLd –help查看。
说明,修改了MySQL.server脚本或者选项文件后,你可能注意到我们没有提供用户的密码,所以如果你做了如上的修改,那么就不可以从普通帐户启动服务器,因为只有root用户才有切换到任意用户的权力。
三、让MySQL随系统启动而自动启动
当你开始使用MySQL作为生产应用时,你可能想要增加这些启动并且停止命令到在你的“/etc/rc * 文件中适当的地方。注意如果你修改MySQL.server,那么如果某个时候你升级MySQL时,你的修改版本将被覆盖,因此你应该做一个你可重新安装的编辑过的版本的拷贝。
下面简述一下在Red Hat Linux系统中的设置方法:
1、修改MySQL.server,把它复制到/etc/rc.d/init.d目录里面:
# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server MySQL
2、接着把它的属性改为“x”(executable,可执行)
# chmod +x MySQL
3、最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。
# /sbin/chkconfig --del MySQL
# /sbin/chkconfig --add MySQL
说明
如果你的系统使用“/etc/rc.local”启动外部脚本,你也可以添加下列到其中:
二进制分发:
/bin/sh -c 'cd /usr/local/mysql ; ./bin/safe_MySQLd &'
源代码分发:
/bin/sh -c 'cd /usr/local/ ; ./bin/safe_MySQLd &'
当然,作者更推荐使用MySQLv.server的方法,因为这样可以提供系统更好的整合性。