mysqld_multi [SOLVED]
Доброе утро.
Хочу вот запустить несколько серверов mysql на одной машине.
Использую: mysql-5.0.26
Возникли следующие вопросы:
1. Для одного сервера mysql делаю:
rc-update add mysql default
/etc/init.d/mysql start|stop|restart
а что нужно помещать в автозагрузку в случае multi?
Скрипт mysqld_multi находится в /usr/bin
2. В /etc/mysql/my.cnf помещаю секции: [mysqld_multi],[mysqld#] для каждого сервера.
Нужны ли секции [mysqld] и [mysqld_safe]?
3. В секцию [mysqld_multi] помещаю:
mysqld = /usr/bin/mysqld
В секцию [mysqld1] помещаю примерно следующее:
socket = /var/run/mysqld/mysqld.sock1 - просто скопировать /var/run/mysqld/mysqld.sock?
port = 3307
pid-file = /var/run/mysqld/mysqld.pid1 - откуда брать номер процесса?
datadir = /var/lib/mysql1
Спасибо.
- Для комментирования войдите или зарегистрируйтесь
почитай
почитай /etc/conf.d/mysqld
Почитал.
Почитал. Спасибо.
Вроде все прописал. Но запускается только один сервер. Остальные ругаются на соксы и пиды.
В /etc/conf.d/mysql прописал:
mysql_slot_0_1=(
"mycnf=/home/mysql.servers/mysql.work/my.cnf"
"nice=-15"
"server-id=101"
)
mysql_slot_0_2=(
"mycnf=/home/mysql.servers/mysql.test/my.cnf"
"nice=-5"
"server-id=102"
)
В /home/mysql.servers/mysql.work/my.cnf прописал:
[mysqld]
user=mysql
port=3306
socket=/home/mysql.servers/mysql.work/pid/mysqld.sock
pid-file=/home/mysql.servers/mysql.work/pid/mysqld.pid
log-error=/home/mysql.servers/mysql.work/logs/mysqld.err
datadir=/home/mysql.servers/mysql.work/db
Соответственно в /home/mysql.servers/mysql.test/my.cnf
[mysqld]
user=mysql
port=3307
socket=/home/mysql.servers/mysql.test/pid/mysqld.sock
pid-file=/home/mysql.servers/mysql.test/pid/mysqld.pid
log-error=/home/mysql.servers/mysql.test/logs/mysqld.err
datadir=/home/mysql.servers/mysql.test/db
При запуске выводит следующее:
Can't start server: Bind on unix socket: Permission denied
Do you already have another mysqld server running on socket: /home/mysql.server/mysql.test/pid/mysqld.sock?
Aborting
Когда коментирую строчки socket и pid-file в my.cnf, выводит:
Starting mysql...
Starting mysql (/home/mysql.servers/mysql.test/my.cnf)
"/var/run/mysqld/mysqld.pid" is still present and the process is running.
/etc/init.d/mysql: line 199: /var/run/mysqld/mysqld.pid: no such file or directory
Please stop it "kill" maybe?
Я так понимаю система сама создает файлы .sock и .pid в указанных папках?
Да создает
Да создает сама.
Судя по логам учетной записи от которой стартует MySQL не хватает прав для записи файлов.
Ага.
Ага. Действительно права на запись файлов.
переделал на:
socket=/var/run/mysqld/mysqld.sock[Номер]
pid-file=/var/run/mysqld/mysqld.pid[Номер]
И заработало.
Ну раз все
Ну раз все хорошо, тогда [SOLVED] в тему первого сообщения.