複数の MySQL を同一のサーバに立てる。
既に MySQL がインストールされている場合。そのインストールされたMySQLのクローンを同一サーバにもう一個立てたい場合。*1オプションでポートや、データディレクトリを指定して、mysqld_safe を起動するのが一番簡単。
まず、任意の場所に(以下例では /home/mysql/data)データディレクトリを設定し、以下のように db をインストールする。
# mysql_install_db \ --datadir=/home/mysql/data/ \ --basedir=/usr/local \ --user=mysql \ --socket=/tmp/mysqld-new.sock \ --no-defaults
出来たら、起動してみる。ポート番号も任意。(以下例では3308)
# mysqld_safe \ --datadir=/home/mysql/data/ \ --basedir=/usr/local \ --user=mysql \ --socket=/tmp/mysqld-new.sock \ --port=3308
接続確認。
# mysql --socket=/tmp/mysqld-new.sock -p
一応パスワードも設定しておく。
# mysqladmin -u root -p password "mysql" --socket=/tmp/mysqld-new.sock
q4m もインストールする場合は、下記。
# cd $Q4M_WORK_DIR # mysql -u root --socket=/tmp/mysqld-new.sock < support-files/install.sql # mysql -u root --socket=/tmp/mysqld-new.sock mysql> show plugins; +------------+--------+----------------+--------------------+---------+ | Name | Status | Type | Library | License | +------------+--------+----------------+--------------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | partition | ACTIVE | STORAGE ENGINE | NULL | GPL | | ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL | | BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | QUEUE | ACTIVE | STORAGE ENGINE | libqueue_engine.so | GPL | +------------+--------+----------------+--------------------+---------+ 10 rows in set (0.00 sec) mysql> use test Database changed mysql> show tables; Empty set (0.00 sec)
mysql クライアントを、元々、
$ mysql
という風に起動していた場合は、上記のように指定すれば今までの MySQL インスタンスに繋がるし、
$ mysql --socket=/tmp/mysqld-new.sock
というようにソケット指定で起動すれば新しいインスタンスに繋がる。これは同一マシンからの接続の例で、別マシンから接続する場合は、新マシンのポート 3308 を指定する。