mysql複数起動するには


my.cnfに数字と下記を指定

[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin

[mysqld2]
port = 3308
socket = /opt/local/var/run/mysql5/mysqld2.sock
pid-file = /opt/local/var/db/mysql5.2/UsuiMacBookAir.local.2.pid
datadir = /opt/local/var/db/mysql5.2
server-id = 2


権限付与
GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';


手動起動
/opt/local/lib/mysql5/bin/mysqld_safe --defaults-file=/private/etc/my.2.cnf

× sudo /opt/local/lib/mysql5/bin/mysqld_multi start 1,2&
/opt/local/lib/mysql5/bin/mysqld_multi start 1,2
※権限の関係でsudoで起動しても上手くいかないので
 /opt/local/var/db/mysql5/
 /opt/local/var/run/mysql5/
パーミッションをさげてみたら起動はした感じ

http://www.kimura-lab.net/wiki/index.php/MySQLサーバ複数起動メモ

で結果my.cnf の設定を無視して同じポートで起動しちゃう感じ


直接mysqldで起動したら一応動くけど...

/opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5.2 --user=mysql --pid-file=/opt/local/var/db/mysql5.2/UsuiMacBookAir.local.pid --port=3308 --socket=/opt/local/var/run/mysql5/mysqld2.sock

/opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5 --user=mysql --pid-file=/opt/local/var/db/mysql5/UsuiMacBookAir.local.pid --port=3306 --socket=/opt/local/var/run/mysql5/mysqld.sock

/opt/local/lib/mysql5/bin/mysql -u root -p --protocol=SOCKET --socket=/opt/local/var/run/mysql5/mysqld.sock
/opt/local/lib/mysql5/bin/mysql -u root -p --protocol=SOCKET --socket=/opt/local/var/run/mysql5/mysqld2.sock

mysqladmin5 -u root -p --protocol=SOCKET --socket=/opt/local/var/run/mysql5/mysqld.sock shutdown
mysqladmin5 -u root -p --protocol=SOCKET --socket=/opt/local/var/run/mysql5/mysqld2.sock shutdown