centos7下基于docker搭建主从同步

本文详细介绍了如何使用Docker在服务器上安装并配置MySQL 5.6的主从复制环境,包括Docker的安装、MySQL镜像的下载、配置文件的编写、容器的启动及Navicat连接数据库的方法,最后通过具体命令展示了主从同步的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ssh登录到服务器ssh root@106.13.91.39

1.安装服务器上安装docker

2.安装好docker后 下载mysql镜像

docker pull mysql:5.6

在根目录执行
 

cd /

mkdir conf

cd conf

touch master.cnf

touch slave.cnf

vi master.cnf

vi slave.cnf

master.cnf内容

mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
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

 

slave.cnf内容

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
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

 

创建启动容器

 docker run -p 3306:3306 --name master -v /conf/master.cnf:/etc/mysql/conf.d/master.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

 docker run -p 3307:3306 --name slave -v /conf/slave.cnf:/etc/mysql/conf.d/slave.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

 

navicat连接数据库

 

 

 

 

查看启动的容器

docker ps -a

 

进入master容器 ,连接mysql,密码123456

docker exec -it master /bin/bash

mysql -hlocalhost -uroot -p

查看状态

show master status;

 

GRANT ALL PRIVILEGES ON *.* TO xym@'%' IDENTIFIED BY '123456'; 
FLUSH PRIVILEGES;

 

 

进入slave容器,连接mysql,密码123456

docker exec -it slave /bin/bash

mysql -hlocalhost -uroot -p

查看容器对于ip

docker inspect --format='{{.NetworkSettings.IPAddress}}' master
docker inspect --format='{{.NetworkSettings.IPAddress}}' slave

 

在slave 容器执行

change master to master_host='172.17.0.2', master_user='xym', master_password='123456', master_port=3306, master_log_file='mysql-bin.000004', master_log_pos= 120, master_connect_retry=30;

查看slave状态;

show slave status;

 

 

参考:https://blog.youkuaiyun.com/linzhiqiang0316/article/details/79249271

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝麻开门2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值