Docker mysql主從復制

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;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容