Если я запускаю сервер кластера 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)
Моя проблема состоит в том, что я хочу запустить сервер автоматически, когда я включаю систему.
Найдите свою ошибку, установив 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-start
и my.cnf
).
В конечном итоге вы захотите отследить значения по умолчанию, которые предоставляются из конфигурации в каталоге /etc
. Например, посмотрите, есть ли у вас файлы в таких местах, как /etc/mysql
и /etc/default/mysql
или даже что-то вроде /etc/mysql.conf
.
После внесения изменений проверьте, не скопировали ли вы рабочий запуск. В моей системе я могу проверить настройку сервера mysql с помощью sudo service mysql start
.