php, ubuntu

Несколько копий MySQL на одном сервере Ubuntu

1. Подготовим место для наших будущих баз

mkdir /var/lib/mysql2
chown -R mysql:mysql /var/lib/mysql2

2. Подготовим место для логов

mkdir /var/log/mysql2
chown -R mysql:mysql /var/log/mysql2

3. Создадим(скопируем) конфиги для сервера mysql

mkdir /etc/mysql2
cp /etc/mysql/my.cnf /etc/mysql2/my.cnf

4. Подготовим конфиг для запуска

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

5. Пошаманим с apparmor. Для этого откроем конфиг на редактирование

nano /etc/apparmor.d/usr.sbin.mysqld

и добавим в него строки после /var/run/mysqld/mysqld.sock w,

/etc/mysql2/*.pem r,
/etc/mysql2/conf.d/ r,
/etc/mysql2/conf.d/* r,
/etc/mysql2/my.cnf r,
/usr/sbin/mysqld mr,
/var/log/mysql2.log rw,
/var/log/mysql2.err rw,
/var/lib/mysql2/ r,
/var/lib/mysql2/** rwk,
/var/log/mysql2/ r,
/var/log/mysql2/* rw,
/var/run/mysqld/mysqld2.pid w,
/var/run/mysqld/mysqld2.sock w,

6. Займемся базой

mysql_install_db —datadir=/var/lib/mysql2/

7. Запустим наш новый сервер mysql

/usr/bin/mysqld_safe —defaults-file=/etc/mysql2/my.cnf

8. Установим пароль root

/usr/bin/mysqladmin -u root -S /var/run/mysqld/mysqld2.pid password ‘somepassword’

Наш сервер настроен и работает.

Для подключения к mysql используем такую конструкцию 🙂

mysql -S /var/run/mysqld/mysqld2.pid

В php скриптах используем такую конструкцию

$link = mysql_connect(‘localhost:/var/run/mysqld/mysqld2’, ‘user’, ‘password’);

если вам надоест ваш новый mysql, выключить его можно так

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

вроде ничего не забыл. удачи!

Tagged ,

Добавить комментарий