MySQL5.6マルチインスタンス導入
予算に迫られても、リーダーの要求に迫られても、マルチインスタンスのインストールはDBAが身につけなければならない技術であり、彼の起動とログイン方式は単一インスタンスのインストールデータベースとは少し異なり、本文はMySQL 5をどのように完成するかを記録する.6マルチインスタンスの導入.
まずmyを見てみましょうcnfと単一インスタンスの区別:
多例のmy.cnfは実際には上記のように,本論文では実験環境を実証するためにinnodb_buffer_pool_sizeは100 mしか開いていません.実際の本番ライブラリでは、複数のインスタンスがこのパラメータを配置するには大きく、2つのインスタンスの値がメモリの50%-80%に達することができます.
次に、データベースの初期化を開始します.
まず、データディレクトリを作成します.
mysqlのscriptsフォルダの下に入ってデータベースを初期化します.ここでは3306ポートデータベースを初期化します.
ここでは3308ポートデータベースを初期化します
初期化が完了すると、単一のインスタンスとは異なりmysqld_を使用してデータベースを停止できます.Multiはデータベースの停止を開始します
[root@HE1 bin]# ./mysqld_multi --defaults-file=/etc/my.cnf --user=root --password=MANAGER start 3306,3308
mysqldを利用できますMultiのreportコマンドは、マルチインスタンスの動作状況を検出します.
ログイン方法はシングルインスタンスとほぼ同じですが、マルチインスタンスが存在するため、異なるポート番号を指定する必要があります.
もちろん、socketファイルでログインしても大丈夫です
ここでは3308ポートデータベースにログインします
3308ポートのsocketファイルを使用してデータベースにログイン
これでMySQL 5.6マルチインスタンスの導入が完了しました.
まずmyを見てみましょうcnfと単一インスタンスの区別:
[root@HE1 scripts]#
cat /etc/my.cnf
[client]
#port = 3306
#socket = /tmp/mysql.sock
#default-character-set = utf8
[mysql]
#default-character-set = utf8
[mysqld3306]
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql_3306
socket = /tmp/mysql_3306.sock
slow_query_log_file = /data/mysql_3306/slow.log
log-error = /data/mysql_3306/error.log
log-bin = /data/mysql_3306/mysql-bin
sync_binlog = 1
binlog_format = row
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 100m
[mysqld3308]
port = 3308
basedir = /usr/local/mysql
datadir = /data/mysql_3308
socket = /tmp/mysql_3308.sock
slow_query_log = 1
slow_query_log_file = /data/mysql_3308/slow.log
log-error = /data/mysql_3308/error.log
long_query_time = 1
log-bin = /data/mysql_3308/mysql-bin
sync_binlog = 1
binlog_cache_size = 4M
default-storage-engine = InnoDB
binlog_format = row
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 100m
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin
[mysqldump]
quick
max_allowed_packet = 32M
多例のmy.cnfは実際には上記のように,本論文では実験環境を実証するためにinnodb_buffer_pool_sizeは100 mしか開いていません.実際の本番ライブラリでは、複数のインスタンスがこのパラメータを配置するには大きく、2つのインスタンスの値がメモリの50%-80%に達することができます.
次に、データベースの初期化を開始します.
まず、データディレクトリを作成します.
[root@HE1 ~]#mkdir -p /data/mysql_3306
[root@HE1 ~]#mkdir -p /data/mysql_3308
[root@HE1 ~]#echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib" >>/etc/profile
mysqlのscriptsフォルダの下に入ってデータベースを初期化します.ここでは3306ポートデータベースを初期化します.
[root@HE1 scripts]#./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql_3306 --defaults-file=/etc/my.cnf --user=mysql
ここでは3308ポートデータベースを初期化します
[root@HE1 scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql_3308 --defaults-file=/etc/my.cnf --user=mysql
初期化が完了すると、単一のインスタンスとは異なりmysqld_を使用してデータベースを停止できます.Multiはデータベースの停止を開始します
[root@HE1 bin]# ./mysqld_multi --defaults-file=/etc/my.cnf --user=root --password=MANAGER start 3306,3308
mysqldを利用できますMultiのreportコマンドは、マルチインスタンスの動作状況を検出します.
[root@HE1 bin]#./mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3308 is running
ログイン方法はシングルインスタンスとほぼ同じですが、マルチインスタンスが存在するため、異なるポート番号を指定する必要があります.
[root@HE1 bin]# mysql -uroot -p -P3306 -h 192.168.1.48
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 Server version: 5.6.16-log MySQL Community Server (GPL)
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema
|
| 3306db |
| mysql |
| performance_schema
|
| test |
+--------------------+
5 rows in set (0.00 sec)
もちろん、socketファイルでログインしても大丈夫です
[root@HE1 bin]#mysql -uroot -p -S /data/mysql_3306/mysql_3306.sock
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 Server version: 5.6.16-log MySQL Community Server (GPL)
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema
|
| 3306db |
| mysql |
| performance_schema
|
| test |
+--------------------+
5 rows in set (0.00 sec)
ここでは3308ポートデータベースにログインします
[root@HE1 bin]#mysql -uroot -p -P3308 -h 192.168.1.48
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8 Server version: 5.6.16-log MySQL Community Server (GPL)
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema
|
| 3308db |
| mysql |
| performance_schema
|
| test |
+--------------------+
5 rows in set (0.00sec)
mysql> quit
Bye
3308ポートのsocketファイルを使用してデータベースにログイン
[root@HE1 bin]#mysql -uroot -p -S /data/mysql_3308/mysql_3308.sock
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 Server version: 5.6.16-log MySQL Community Server (GPL)
Copyright (c) 2000,
2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema
|
| 3308db |
| mysql |
| performance_schema
|
| test |
+--------------------+
5 rows in set (0.00sec)
これでMySQL 5.6マルチインスタンスの導入が完了しました.