1.Создаем отдельные каталоги для баз данных и логов для второй копии MySQL
1 |
# mkdir /var/lib/mysql2 |
1 |
# chown -R mysql:mysql /var/lib/mysql2 |
1 |
# mkdir /var/log/mysql2 |
1 |
# chown -R mysql:mysql /var/log/mysql2 |
2.Создаем новый конфигурационный файл для второй копии MySQL
1 |
# cp -R /etc/mysql /etc/mysql2 |
1 |
# cd /etc/mysql2 |
1 |
# sed -i 's/3306/3307/g' my.cnf |
1 |
# sed -i 's/mysqld.sock/mysqld2.sock/g' my.cnf |
1 |
# sed -i 's/mysqld.pid/mysqld2.pid/g' my.cnf |
1 |
# sed -i 's|/var/lib/mysql/|/var/lib/mysql2/|g' my.cnf |
1 |
# sed -i 's|/var/log/mysql/|/var/log/mysql2/|g' my.cnf |
3.Настройка apparmor на Ubuntu для корректного создания/инициализации второй копии MySQL
1 |
# apt-get install apparmor-utils |
1 |
# aa-complain /usr/sbin/mysqld |
4.Инициализация/создания баз данных второй копии MySQL
1 |
# mysql_install_db --user=mysql --datadir=/var/lib/mysql2/ |
1 |
# ls -al /var/lib/mysql2/ |
1 2 |
drwx------ 2 mysql root 4096 Oct 4 00:03 mysql drwx------ 2 mysql mysql 4096 Oct 4 00:03 performance_schema |
5.Запуск второй копии MySQL
1 |
# mysqld_safe --defaults-file=/etc/mysql2/my.cnf & |
6.Просмотр наличия двух копий MySQL
1 |
# ps ax | grep mysql | grep -v grep |
1 2 3 |
3769 ? Ssl 0:01 /usr/sbin/mysqld 4804 pts/3 S 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql2/my.cnf 5149 pts/3 Sl 0:07 /usr/sbin/mysqld --defaults-file=/etc/mysql2/my.cnf --basedir=/usr --datadir=/var/lib/mysql2 --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql2/error.log --pid-file=/var/run/mysqld/mysqld2.pid --socket=/var/run/mysqld/mysqld2.sock --port=3307 |
1 |
# netstat -nlpt | grep mysql |
1 2 |
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3769/mysqld tcp 0 0 127.0.0.1:3307 0.0.0.0:* LISTEN 5149/mysqld |
Если использовался файл /root/.my.cnf, то отключаем его
1 |
# mv /root/.my.cnf /root/.my.cnf~ |
7.Первоначальная настройка второй копии MySQL
1 |
# mysql_secure_installation --defaults-file=/etc/mysql2/my.cnf |
8.Подключение к второй копии MySQL mysql
Через сокет
1 |
# mysql -S /var/run/mysqld/mysqld2.sock -p |
либо через порт
1 |
# mysql -h 127.0.0.1 -P 3307 –p |
9.Добавление в автозагрузку запуска второй копии MySQL
1 |
# nano /etc/rc.local |
1 2 3 |
…… # mysqld_safe --defaults-file=/etc/mysql2/my.cnf & exit 0 |
Источник:
http://www.ducea.com/2009/01/19/running-multiple-instances-of-mysql-on-the-same-machine/