MySQL数据库主从同步

第一步,安装MySQL

docker images

首先要安装好MySQL镜像,然后直接创建MySQL服务。

docker run -p 3307:3306 --name mysql-master \
-v /mydata/mysql/master/log:/var/log/mysql \
-v /mydata/mysql/master/data:/var/lib/mysql \
-v /mydata/mysql/master/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

上面的命令的作用是,把容器的3306端口映射到主机的3307,把容器里面的文件夹挂载到主机,最后是设置密码,并安装5.7版本。运行结果如下:

再创建从库

docker run -p 3317:3306 --name mysql-slaver-01 \
-v /mydata/mysql/slaver/log:/var/log/mysql \
-v /mydata/mysql/slaver/data:/var/lib/mysql \
-v /mydata/mysql/slaver/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

docker ps

 接下来开始配置,两个数据库都要配置。

使用命令 ,创建配置文件。

vi /mydata/mysql/master/conf/my.cnf
vi /mydata/mysql/slaver/conf/my.cnf

主数据库配置信息如下。

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8' 
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

server_id=1
log-bin=mysql-bin
read-only=0
binlog-do-db=t_order

replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

从数据库配置信息如下:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

server_id=2
log-bin=mysql-bin
read-only=1
binlog-do-db=t_order
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

 两个的配置只有server_id和read-only不同。

第二步,连接MySQL

现在我们可以用我们的可视化工具连接MySQL了,我使用的是navicat。

连接成功。

可以看到这里我是两个端口,连接了两个MySQL数据库。

接着要添加一个我们用来同步的用户。

GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';

 

SHOW MASTER STATUS;

然后再配置从数据库,

change master to master_host='192.168.56.10',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3307

 里面的参数主要有主数据库的ip地址,刚刚定义的主数据库的账号密码,和二进制文件,开始定位。

SHOW MASTER STATUS; 

开启同步:START SLAVE;

可以看到已经生成了对应的需要同步的文件。这就配置成功了 。

然后就可以验证了。

第三步,开始验证

1、运行一个创建表的命令,注意这里创建的库一定是我们上面已经在MySQL配置文件中配置的要同步的库。

发现数据库已经同步创建好了。 

 再创建表,

发现都ok。

这就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值