MySQL5.xにて複数インスタンスを起動する方法

スポンサーリンク

複数インスタンス起動設定

mysqldを1サーバ上で複数起動したい場合、利用するデータベースディレクトリとListenポートを変更し、mysqld_multiコマンドで起動する。詳しくはmysqld_multi –example を参照してください。

1. /etc/my.cnfに複数インスタンスを起動する設定を追加します

[mysqld_multi]
mysqld=/usr/bin/mysqld_safe
mysqladmin=/usr/bin/mysqladmin
user=root
password=パスワード

[mysqld1]
datadir=/var/lib/mysql/multi1
socket=/var/lib/mysql/multi1/mysql.sock
port=3307

[mysqld2]
datadir=/var/lib/mysql/multi2
socket=/var/lib/mysql/multi2/mysql.sock
port=3308

2. /var/lib/mysql/配下に、インスタンス用が使用するDB用のディレクトリ作成

# mkdir /var/lib/mysql/multi{1,2}
# chown mysql: /var/lib/mysql/multi*

3. mysql_install_dbコマンドを用いてインスタンス用DB作成

# mysql_install_db --datadir=/var/lib/mysql/multi1/
# mysql_install_db --datadir=/var/lib/mysql/multi2/

4. mysqld_multi start で起動

# mysqld_multi start

5. mysqladminコマンドで、インスタンス用のDBのrootパスワード変更

# mysqladmin -u root password 'パスワード' --socket=/var/lib/mysql/multi1/mysql.sock
# mysqladmin -u root password 'パスワード' --socket=/var/lib/mysql/multi2/mysql.sock

6. mysqlコマンドで、各インスタンス用のDBにアクセスできるか確認

# mysql -u root -p --socket=/var/lib/mysql/multi1/mysql.sock
Enter password:
 ~省略~
mysql> exit
Bye

7. mysqld_multi stop で停止できるかも確認

○現状確認
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running

○停止
# mysqld_multi stop

○停止後確認
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is not running
MySQL server from group: mysqld2 is not running

以上

不明点などあればコメントorコンタクトme.

コメント

タイトルとURLをコピーしました