Запуск нескольких серверов MySQL на одной машине

Можно ли запустить несколько серверов MySQL на одной машине?

Спасибо.

Ответ 1

Да, вам просто нужно запустить их на отдельных портах и указать их в разных каталогах lib для своих данных.

Вот хорошая ссылка: http://dev.mysql.com/doc/refman/5.1/en/mutiple-servers.html

(Если вы хотите использовать это для тестирования, я предлагаю проверить MySQL Sandbox, который теперь заменен dbdeployer)

Ответ 2

Существуют различные способы запуска нескольких экземпляров mysql (на разных портах) на одном компьютере. Здесь я использовал один и тот же двоичный файл и использовал отдельный файл конфигурации (с отдельным портом, pid, сокетом и каталогом данных). Нам нужно создать новые каталоги для нашей папки данных и журнала (если они используются). Также нам нужно назначить соответствующие разрешения для этих папок:

# mkdir /var/lib/mysql2
  # chown -R mysql.mysql /var/lib/mysql2/
  # mkdir /var/log/mysql2
  # chown -R mysql.mysql /var/log/mysql2

Далее нам нужен отдельный файл конфигурации, такой же, как файл конфигурации mysql по умолчанию. Поэтому начните с копирования существующего и изменения необходимых значений.

 # cp /etc/my.cnf /etc/my2.cnf

(или изменить путь, соответствующий вашему конфигурационному файлу, находится в другом месте).

Затем нам нужно отредактировать наш новый файл конфигурации с другим портом mysql (по умолчанию - 3306), pid и socket, чем по умолчанию, а также указать папки данных и журналов на созданные ранее.

# cd /etc
  # sed -i ‘s/3306/3307/g’ my2.cnf
  # sed -i ‘s/mysqld.sock/mysqld2.sock/g’ my2.cnf
  # sed -i ‘s/mysqld.pid/mysqld2.pid/g’ my2.cnf
  # sed -i ‘s/var\/lib\/mysql/var\/lib\/mysql2/g’ my2.cnf
  # sed -i ‘s/var\/log\/mysql/var\/log\/mysql2/g’ my2.cnf

Наконец, нам нужно инициализировать dbs по умолчанию:

# mysql_install_db –user=mysql –datadir=/var/lib/mysql2/

Наконец, мы можем запустить наш новый экземпляр mysql с помощью

# mysqld_safe – -defaults-file=/etc/my2.cnf &

Мы можем подключиться к нашему новому экземпляру, используя:

# mysql -S /var/run/mysqld/mysqld2.sock

или

# mysql -h 127.0.0.1 -P 3307

и если нам это больше не нужно, остановите его:

# mysqladmin -S /var/run/mysqld/mysqld2.sock shutdown

Ref Site: https://linuxinpakistan.com/start-multiple-instances-mysql-machine