MySQL5.7.28マルチインスタンスを使用するので、ソースコードのインストール、報告されていない、データベースをインポートする際に、再利用mysql_multi研究方法は、バックアップの特別の使用のあらゆる面で、検証テスト環境の後、マルチ・インスタンスを管理し、復元するために、問題があるでしょうマルチインスタンスのMySQL5.7.28問題は、ピットの多くを踏ん、ここで私が問題ならば、私の指導の多くを修正するあなたに感謝してください、私の展開過程、と共有されます!!
MySQLのインストールと設定展開インフラストラクチャ環境についての記事を参照することができます:CentOS7.5ソースのインストールMySQL5.7.28マルチインスタンス
https://blog.51cto.com/8355320/2463218
マルチインスタンスのmysqlから直接インストールを開始するには2.7からこのセクション、特定の手配以下:
2.7 mysqlのマルチ・インスタンスをインストール
2.7.1は、(実際の展開経路変更に基づいて)ソフトウェアのインストールディレクトリを作成します。
[root@~]# mkdir -pv /data/mysql/{3306,3307}
[root@~]# mkdir -v /data/mysql/3306/{logs,data,binlog}
[root@~]# mkdir -v /data/mysql/3307/{logs,data,binlog}
2.7.2。MySQLのインストールパッケージのダウンロード
[root@~]# cd /opt
[root@~]# wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
[root@~]# tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
[root@~]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
[root@~]# chown -R mysql:mysql /usr/local/mysql
[root@~]# chown -R mysql:mysql /data
。2.7.3 MySQLのパラメータ
my.cnfのパラメータ設定ファイル
(1)SERVER_ID = 3306 SERVER_ID = 3307及び値は、実際の構成によれば、LANかもしれない競合の他の数値実施例の各々と音符に配置されたID値の構成、
( 2)接続のMAX_CONNECTIONS = 1000の最大数は、変更または追加するための実際のニーズに応じて他のパラメータを最適化し、実際のニーズに応じてMySQLデータベース、構成に配置され、
全体(3)プロファイルを、以下
[root@~]# vim /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /data/mysql/mysqld_multi.log
#user=root
#pass=
[mysql]
prompt="\u@jsshapp \R:\m:\s [\d]> "
no-auto-rehash
[mysqld3306]
user = mysql
port = 3306
symbolic-links = 0
#basedir = /usr/
datadir = /data/mysql/3306/data
socket = /data/mysql/3306/mysql3306.sock
pid-file = /data/mysql/3306/mysqld3306.pid
server_id = 3306
character_set_server = utf8
max_connections = 1000
skip_name_resolve = 1
open_files_limit = 65536
thread_cache_size = 64
table_open_cache = 4096
table_definition_cache = 1024
table_open_cache_instances = 64
max_prepared_stmt_count = 1048576
explicit_defaults_for_timestamp = true
log_timestamps = system
binlog_format = row
log_bin = /data/mysql/3306/binlog/mysql-bin
binlog_rows_query_log_events = on
expire_logs_days = 7
binlog_cache_size = 4M
max_binlog_cache_size = 2G
max_binlog_size = 1G
sync_binlog = 1
log_bin_trust_function_creators = 1
slow_query_log = on
slow_query_log_file = /data/mysql/3306/data/slow.log
log-error = /data/mysql/3306/logs/error.log
log_queries_not_using_indexes = on
long_query_time = 1.000000
gtid_mode = on
enforce_gtid_consistency = on
default_storage_engine = innodb
default_tmp_storage_engine = innodb
innodb_data_file_path = ibdata1:12M:autoextend:max:2000M
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:2000M
innodb_buffer_pool_filename = ib_buffer_pool
innodb_log_files_in_group = 3
innodb_log_file_size = 512M
innodb_online_alter_log_max_size = 1024M
innodb_open_files = 4096
innodb_page_size = 16k
innodb_thread_concurrency = 0
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_purge_threads = 4
innodb_page_cleaners = 4
innodb_print_all_deadlocks = on
innodb_lock_wait_timeout = 20
innodb_spin_wait_delay = 128
innodb_autoinc_lock_mode = 2
innodb_io_capacity = 200
innodb_io_capacity_max = 2000
#innodb_flush_neighbors =
innodb_log_buffer_size = 8M
innodb_flush_log_at_timeout = 1
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_size = 1024M
innodb_buffer_pool_instances = 4
autocommit = 1
innodb_buffer_pool_dump_pct = 25
innodb_buffer_pool_dump_at_shutdown = ON
innodb_buffer_pool_load_at_startup = ON
[mysqld3307]
user = mysql
port = 3307
symbolic-links = 0
lower_case_table_names = 1
#basedir = /usr/
datadir = /data/mysql/3307/data
socket = /data/mysql/3307/mysql3307.sock
pid-file = /data/mysql/3307/mysqld3307.pid
server_id = 3307
character_set_server = utf8
max_connections = 1000
skip_name_resolve = 1
open_files_limit = 65536
thread_cache_size = 64
table_open_cache = 4096
table_definition_cache = 1024
table_open_cache_instances = 64
max_prepared_stmt_count = 1048576
explicit_defaults_for_timestamp = true
log_timestamps = system
binlog_format = row
log_bin = /data/mysql/3307/binlog/mysql-bin
binlog_rows_query_log_events = on
expire_logs_days = 7
binlog_cache_size = 4M
max_binlog_cache_size = 2G
max_binlog_size = 1G
sync_binlog = 1
slow_query_log = on
slow_query_log_file = /data/mysql/3307/data/slow.log
log-error = /data/mysql/3307/logs/error.log
log_queries_not_using_indexes = on
long_query_time = 1.000000
gtid_mode = on
enforce_gtid_consistency = on
default_storage_engine = innodb
default_tmp_storage_engine = innodb
innodb_data_file_path = ibdata1:12M:autoextend:max:2000M
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:2000M
innodb_buffer_pool_filename = ib_buffer_pool
innodb_log_files_in_group = 3
innodb_log_file_size = 512M
innodb_online_alter_log_max_size = 1024M
innodb_open_files = 4096
innodb_page_size = 16k
innodb_thread_concurrency = 0
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_purge_threads = 4
innodb_page_cleaners = 4
innodb_print_all_deadlocks = on
innodb_lock_wait_timeout = 20
innodb_spin_wait_delay = 128
innodb_autoinc_lock_mode = 2
innodb_io_capacity = 200
innodb_io_capacity_max = 2000
#innodb_flush_neighbors =
innodb_log_buffer_size = 8M
innodb_flush_log_at_timeout = 1
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_size = 1024M
innodb_buffer_pool_instances = 4
autocommit = 1
innodb_buffer_pool_dump_pct = 25
innodb_buffer_pool_dump_at_shutdown = ON
innodb_buffer_pool_load_at_startup = ON
[mysqldump]
quick
max_allowed_packet = 32M
2.7.4。設定MySQLの環境変数
[root@~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
[root@~]# tail -1 /etc/profile
[root@~]# source /etc/profile
2.7.5。TESTONEインスタンスの初期化
インスタンスの初期化動作
[root@~]# mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql/ --user=mysql --datadir=/data/mysql/3306/data/ > /tmp/3306.log 2>&1
[root@~]# tail -100f /tmp/3306.log
---次の内容が表示されて、ログを表示するためにtailコマンドを使用して初期化し、それが初期化が(ここで、#5 + T + xYW + <完全であることを意味トン?rootユーザーの一時的なパスワードです)
#5:Aがルートのための一時的なパスワードを生成し@ localhostの+ + + xYW <トントン?
SSLファイルを生成します
[root@~]# mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data
開始TESTONE例
[root@~]# mysqld_multi start 3306
[root@~]# tail -100f /data/mysql/3306/logs/error.log
----それは成功したスタートをそこに登場していることを意味し、起動ログを表示するには、tailコマンドを使用します
Version: '5.7.28-log' socket: '/data/mysql/3306/mysql3306.sock' port: 3306 MySQL Community Server (GPL)
rootパスワードの変更
[root@~]# less /tmp/3306.log | grep 'A temporary password'
[root@~]# mysql -uroot -p -S /data/mysql/3306/mysql3306.sock
Enter password:
mysql> alter user 'root'@'localhost' identified by '统一密码';
mysql> flush privileges;
mysql> exit;
統一検証TESTONE rootユーザのパスワードは、(通常、出力インターフェースINFORMATION_SCHEMA含有量が正常を示します)
[root@~]# mysql -uroot -p -S /data/mysql/3306/mysql3306.sock -e "show databases;" | grep information_schema
Enter password:
設定ファイルに追加し、統一されたコードを変更するmy.cnfの設定ファイルを変更します
[root@~]# sed -i "s@^#user=root@user=root@g" /etc/my.cnf
[root@~]# sed -i "s@^#pass=@pass=统一密码@g" /etc/my.cnf
[root@~]# cat /etc/my.cnf | grep pass= ---使用cat命令查看配置文件pass字段输出的结果是否一致
ストップTESTONE例
[root@~]# mysqld_multi stop 3306
[root@~]# netstat -tnlp|grep 3306 ---输入结果为空表示服务停止正常
2.7.6。Testtwoインスタンスの初期化
インスタンスの初期化動作
[root@~]# mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql/ --user=mysql --datadir=/data/mysql/3307/data/ > /tmp/3307.log 2>&1
[root@~]# tail -100f /tmp/3307.log
---ログを表示するtailコマンドを使用して初期化し、コンテンツが表示され、次の、それは初期化が完了したことを意味し(ここで、-pn> T;イェジン)AY6 =私は、ユーザー一時的なパスワード)ルートで
ルートのA一時的なパスワードは、@ localhostの生成されます- PN> T;イエ)AY6 I =
L・ファイルが生成されたSSL
[root@~]# mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3307/data
testwo例を開始
[root@~]# mysqld_multi start 3307
----それは成功したスタートをそこに登場していることを意味し、起動ログを表示するには、tailコマンドを使用します
[root@~]# tail -100f /data/mysql/3307/logs/error.log
Version: '5.7.28-log' socket: '/data/mysql/3307/mysql3307.sock' port: 3307 MySQL Community Server (GPL)
rootパスワードの変更
[root@~]# less /tmp/3307.log|grep 'A temporary password'
[root@~]# mysql -uroot -p -S /data/mysql/3307/mysql3307.sock
Enter password:
mysql> alter user 'root'@'localhost' identified by '统一密码';
mysql> flush privileges;
mysql> exit;
testtwo rootユーザのパスワード検証統一(通常出力インタフェースINFORMATION_SCHEMA含有量が正常を示します)
[root@~]# mysql -uroot -p -S /data/mysql/3307/mysql3307.sock -e "show databases;" | grep information_schema
Enter password:
testtwo例を止めます
[root@~]# mysqld_multi stop 3307
[root@~]# netstat -tnlp|grep 3307 ---输入结果为空表示服务停止正常
2.7.7。Mysqld_multiマルチインスタンス管理コマンド
のすべてのインスタンスを起動します
[root@~]# mysqld_multi start
単一インスタンスを停止
[root@~]# mysqld_multi stop 3306
[root@~]# mysqld_multi stop 3307
単一のインスタンスを起動します
[root@~]# mysqld_multi start 3306
[root@~]# mysqld_multi start 3307
すべてのインスタンスのステータスを表示(実行されています)
[root@~]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running
状態の単一のインスタンスを参照してください
[root@~]# mysqld_multi report 3306
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
[root@~]# mysqld_multi report 3307
Reporting MySQL servers
MySQL server from group: mysqld3307 is running
すべてのインスタンスを停止
[root@~]# mysqld_multi stop
2.7.8。データのインポート
(1)は、(実際の名前による操作)がインポート/データ/パスにアップロードデータベーススクリプト(test.sql内、testtwo.sql)ファイルであることが
既に2つのインスタンスを実行している(2)コマンドの確認を使用して状態
[root@~]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running
TESTONEデータベースインスタンスを作成するTESTONEのMySQLデータベース、ユーザ名とパスワードとインポートデータに(3)
[root@~]# cd /data/
[root@~]# mysql -uroot -p -S /data/mysql/3306/mysql3306.sock
Enter password:
mysql>create database testone default character set utf8 collate utf8_bin;
mysql> grant select,insert,update,delete,create,alter,execute on testone.* to 'testone'@'%' identified by '密码';
mysql> flush privileges;
mysql> exit
[root@~]# mysql -uroot -p -S /data/mysql/3306/mysql3306.sock testone < /data/test.sql
testtwoのMySQLデータベースに(3)、データベースインスタンスtesttwoサービス、ユーザ名とパスワードとインポートデータを作成します
[root@~]# mysql -uroot -p -S /data/mysql/3307/mysql3307.sock
Enter password:
mysql> create database testtwo default character set utf8 collate utf8_bin;
mysql> grant select,insert,update,delete,create,alter,execute on testtwo.* to 'testtwo'@'%' identified by '密码';
mysql> flush privileges;
mysql> exit
[root@~]# mysql -uroot -p -S /data/mysql/3307/mysql3307.sock testtwo < /data/testtwo.sql
2.7.9。ファイアウォールの設定
実際の要件に応じて、開いているポートを追加します
[root@~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@~]# firewall-cmd --zone=public --add-port=3307/tcp --permanent
リロード
[root@~]# firewall-cmd --reload