docker mysql 5.7をインストールした後、マスタースレーブ同期を構成
2985 ワード
前編に続くhttps://blog.csdn.net/a2589293499/article/details/96840761 新規my.cnfファイル、内容は以下の通り、/mysql-master/confディレクトリに入れます. masterノードの内容を注釈し、slaveノードの内容を注釈しないで、/mysql-slave/confディレクトリ を入れます.再起動容器 docker restart mysql-master
docker restart mysql-slavemysql-master容器内部に入り、主従 を配置する
docker exec -it mysql-master/bin/bash
mysql -uroot -p123456
create user 'slave1'@'%' identified by '123456';
grant replication slave on *.* to 'slave1'@'%';
flush privileges;mysql-slave容器内部に入り、主従 を配置する
docker exec -it mysql-slave/bin/bash
mysql -uroot -p123456
change master to master_host='あなたのIP',master_port=3307, master_user='slave1', master_password='123456', master_auto_position=1;
start slave;
[mysql]
default-character-set = utf8mb4
[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#common
character-set-server = utf8mb4
max_allowed_packet = 32M
lower_case_table_names = 1
log-error = mysql-error.log
slow_query_log = on
slow-query-log-file = mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes = mysql-nouseindex.log
#innodb
innodb_buffer_pool_size = 1G
innodb_thread_concurrency = 16
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_lock_wait_timeout = 120
#master & slave
binlog_format = row #row|mixed
gtid_mode = on
enforce-gtid-consistency = on
relay_log_recovery = 1
relay_log_info_repository = TABLE
master_info_repository = TABLE
log-slave-updates = off
expire_logs_days = 7
#master
server_id = 9
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
log-bin = mysql-bin
binlog-ignore-db = mysql
#slave
#server_id = 10
#innodb_flush_log_at_trx_commit = 2
#sync_binlog = 500
#slave-skip-errors = 1062
#replicate-ignore-db = mysql
[mysql]
default-character-set = utf8mb4
[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#common
character-set-server = utf8mb4
max_allowed_packet = 32M
lower_case_table_names = 1
log-error = mysql-error.log
slow_query_log = on
slow-query-log-file = mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes = mysql-nouseindex.log
#innodb
innodb_buffer_pool_size = 1G
innodb_thread_concurrency = 16
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_lock_wait_timeout = 120
#master & slave
binlog_format = row #row|mixed
gtid_mode = on
enforce-gtid-consistency = on
relay_log_recovery = 1
relay_log_info_repository = TABLE
master_info_repository = TABLE
log-slave-updates = off
expire_logs_days = 7
#master
#server_id = 9
#innodb_flush_log_at_trx_commit = 1
#sync_binlog = 1
#log-bin = mysql-bin
#binlog-ignore-db = mysql
#slave
server_id = 10
innodb_flush_log_at_trx_commit = 2
sync_binlog = 500
slave-skip-errors = 1062
replicate-ignore-db = mysql
docker restart mysql-slave
docker exec -it mysql-master/bin/bash
mysql -uroot -p123456
create user 'slave1'@'%' identified by '123456';
grant replication slave on *.* to 'slave1'@'%';
flush privileges;
docker exec -it mysql-slave/bin/bash
mysql -uroot -p123456
change master to master_host='あなたのIP',master_port=3307, master_user='slave1', master_password='123456', master_auto_position=1;
start slave;