1.下載鏡像
docker pull mysql:5.7
2.主節(jié)點創(chuàng)建/opt/mysql/master/conf,/opt/mysql/master/data;主節(jié)點創(chuàng)建/opt/mysql/slave/conf,/opt/mysql/slave/data
3. 主節(jié)點/opt/mysql/master/conf新建my.cnf
[mysqld]
symbolic-links=0
character-set-server = utf8?
#skip-networking?
innodb_print_all_deadlocks = 1
max_connections = 2000?
max_connect_errors = 6000?
open_files_limit = 65535?
table_open_cache = 128?
max_allowed_packet = 4M?
binlog_cache_size = 1M?
max_heap_table_size = 8M?
tmp_table_size = 16M?
read_buffer_size = 2M?
read_rnd_buffer_size = 8M?
sort_buffer_size = 8M?
join_buffer_size = 28M?
key_buffer_size = 4M?
thread_cache_size = 8?
query_cache_type = 1?
query_cache_size = 8M?
query_cache_limit = 2M?
ft_min_word_len = 4?
log-bin = mysql-bin
server-id = 1
binlog_format = mixed?
performance_schema = 0?
explicit_defaults_for_timestamp?
#lower_case_table_names = 1?
interactive_timeout = 28800?
wait_timeout = 28800?
# Recommended in standard MySQL setup?
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES?
[mysqldump]?
quick?
max_allowed_packet = 16M?
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
4. 從節(jié)點/opt/mysql/slave/conf新建my.cnf
[mysqld]
symbolic-links=0
character-set-server = utf8?
#skip-networking?
innodb_print_all_deadlocks = 1
max_connections = 2000?
max_connect_errors = 6000?
open_files_limit = 65535?
table_open_cache = 128?
max_allowed_packet = 4M?
binlog_cache_size = 1M?
max_heap_table_size = 8M?
tmp_table_size = 16M?
read_buffer_size = 2M?
read_rnd_buffer_size = 8M?
sort_buffer_size = 8M?
join_buffer_size = 28M?
key_buffer_size = 4M?
thread_cache_size = 8?
query_cache_type = 1?
query_cache_size = 8M?
query_cache_limit = 2M?
ft_min_word_len = 4?
log-bin = mysql-bin
server-id = 2
binlog_format = mixed?
performance_schema = 0?
explicit_defaults_for_timestamp?
#lower_case_table_names = 1?
interactive_timeout = 28800?
wait_timeout = 28800?
# Recommended in standard MySQL setup?
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES?
[mysqldump]?
quick?
max_allowed_packet = 16M?
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
5. 啟動主節(jié)點??
docker run -p 3306:3306 --name mysql -v /opt/mysql/master/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/master/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
6. 啟動從節(jié)點
docker run -p 3306:3306 --name mysql -v /opt/mysql/slave/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/slave/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
7. 主節(jié)點:
docker exec -it mysql /bin/bash
mysql -uroot -p123456
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT REPLICATION SLAVE ON *.* to 'reader'@'%' identified by '123456';
FLUSH PRIVILEGES;
8. 從節(jié)點
docker exec -it mysql /bin/bash
mysql -uroot -p123456
grant SHOW DATABASES,SELECT on *.* to 'slave'@'%' identified by '123456';
FLUSH PRIVILEGES;
9. 主機點:
show master status;
10. 從節(jié)點:
change master to master_host='10.11.17.248',master_user='reader',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=889;
start slave;