mysql 服务器无法在开机时自动启动

mysql 服务器无法在开机时自动启动

如果我使用此命令启动 MYSQL 集群服务器,我会收到错误:

root@v-server1:/usr/local/mysql-cluster# /etc/init.d/mysql.server start
 Starting MySQL
 The server quit without updating PID file (/var/lib/mysql/v-server1.pid).
root@v-server1:/usr/local/mysql-cluster#

但是如果我通过此命令启动,服务器就可以顺利启动:

root@v-server1:/usr/local# cd mysql-cluster

root@v-server1:/usr/local/mysql-cluster# bin/mysqld_safe --defaults-extra-file=/etc/mysqld-cluster.cf --user=mysql --datadir=/var/lib/mysql --basedir=/usr/local/mysql-cluster &
[1] 29119

120404 13:44:00 mysqld_safe Logging to '/var/log/mysql/error.log'.
120404 13:44:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
^C
root@v-server1:/usr/local/mysql-cluster# /etc/init.d/mysql.server status
MySQL running (29524)

我的问题是我想让服务器在我打开系统时自动启动。

答案1

var/log/syslog启动或运行脚本后检查错误/etc/init.d/。那里应该有很多有用的信息。

我的猜测是启动脚本在启动时使用的命令参数或环境有问题。

使其正常工作的另一种方法是编辑启动脚本,为其提供成功启动时使用的确切命令和参数。

如果您的启动是从 进行的/etc/init.d/mysql.server,请检查该文件。

在我的系统上,mysql 是使用 upstart 启动的,因此中的文件/etc/init.d/只是通用脚本的链接/lib/init/upstart-job/

为了进行测试,我可以将成功启动命令中的变量移动/usr/bin/mysqld_safe --defaults-extra-file=/etc/mysqld-cluster.cf --user=mysql --datadir=/var/lib/mysql --basedir=/usr/local/mysql-cluster到其中一个配置文件中。

在我的系统上,这些是我的其他配置文件:

/etc$ ls -lR mysql/
mysql/:
total 16
drwxr-xr-x 2 root root 4096 May  3 18:53 conf.d
-rw------- 1 root root  333 May  3 18:53 debian.cnf
-rwxr-xr-x 1 root root 1220 Mar 29 23:48 debian-start
-rw-r--r-- 1 root root 3504 Feb 17 16:41 my.cnf

mysql/conf.d:
total 4
-rw-r--r-- 1 root root 21 Mar 29 23:47 mysqld_safe_syslog.cnf

这里有很多默认值。您会注意到配置文件中有很多看起来很熟悉的环境变量(例如debian-startmy.cnf)。

您最终将需要追踪/etc目录中配置所提供的默认设置。例如,查看您是否在/etc/mysql/etc/default/mysql或甚至类似的地方有文件/etc/mysql.conf

进行更改后,请测试是否已复制有效的手动启动。在我的系统上,我可以使用 测试 mysql 服务器设置sudo service mysql start

答案2

使用 rc.local 文件作为启动命令

相关内容