суббота, 16 апреля 2011 г.

Два MySQL сервера на одной машине

Иногда бывает необходимо установить несколько MySQL серверов на одной машине, например чтобы опробовать новую версию.

Самое простое решение — это использовать MySQL Sandbox.


Я устанавливал второй MySQL на сервере с Ubuntu.

1) Создаем нового пользователя

sudo adduser mysqlsecond
2) Под этим пользователем переходим в его домашнюю дирректорию
sudo su mysqlsecond
cd ~
3) Скачиваем и устанавливаем mysqlsandbox
wget http://launchpad.net/mysql-sandbox/mysql-sandbox-3/mysql-sandbox-3/+download/MySQL-Sandbox-3.0.17.tar.gz
tar xzf MySQL-Sandbox-3.0.17.tar.gz
cd MySQL-Sandbox-3.0.17
export PATH=$HOME/usr/local/bin:$PATH
perl Makefile.PL PREFIX=$HOME/usr/local
make
make test
make install
4) Скачиваем и устанавливаем сервер mysql
cd ~
wget http://mysql.mirrors.ovh.net/ftp.mysql.com/Downloads/MySQL-5.1/mysql-5.1.56-linux-x86_64-glibc23.tar.gz
cd MySQL-Sandbox-3.0.17/lib/
make_sandbox ~/mysql-5.1.56-linux-x86_64-glibc23.tar.gz
5) Запускаем
cd ~/sandboxes/msb_5_1_56
./start
6) По умолчанию будут созданы 2 пользователя root и msandbox
7) Чтобы залогиниться можно запустить ./use
либо
mysql -uroot --port=5156 --protocol=TCP -pmsandbox
или
mysql -umsandbox --port=5156 --protocol=TCP -pmsandbox

Настройки созданного MySQL сервера хранятся в файле ~/sandboxes/msb_5_1_56/my.sandbox.cnf
8) Для того чтобы созданный mysql запускался при старте системы, можно сделать простенький скрипт запуска.
touch /etc/init.d/mysqlsecond
chmod +x mysqlsecond
Содержимое скрипта:
#!/bin/sh 
# 
# Start the MySQL database server  
# 

case "$1" in 
'start') 
echo -n "Starting MySQL server" 
/home/mysqlsecond/sandboxes/msb_5_1_56/start  
;; 
'stop') 
echo -n "Stop MySQL server" 
/home/mysqlsecond/sandboxes/msb_5_1_56/stop  
;; 
'restart') 
echo -n "Restarting MySQL server" 
/home/mysqlsecond/sandboxes/msb_5_1_56/restart ;; 
*) 
echo "usage $0 start|stop|restart" ;; 
esac
 выполняем update-rc.d mysqlsecond defaults

Комментариев нет:

Отправить комментарий