Доброе утро.
Хочу вот запустить несколько серверов 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 в указанных папках?