两台服务器之间mysql数据库怎么做同步_MySQL 数据库同步结构总结

一、主从同步(基础结构) 1、结构图 f63641adca20e32e8072ddae10be1ad6.png     3f0b5f8963802d3018e374f96976b259.png 主从同步可实现同主机的主从同步,也可以实现不同主机的主从同步。 2、应用场景 a、可实现读写分离,通过增加从库可以提高数据库的性能,在主库实现增删改等更新操作,在从库实现查询操作,从而提高整体效率; b、提高数据安全——数据复制到从库后,从库中会有一个数据备份,一旦主库因异常而导致数据丢失,还可以从从库获取数据以恢复; 3、实现原理 在主库创建 slave 用户,从库通过主库的 slave 用户、master 状态值、主库容器(或主机)的 IP、数据库端口号(或数据库容器映射到主机的端口号)来设置主库链接,从而实现主从同步。 4、实现步骤 a、准备 my.cnf 配置文件; b、创建主、从数据库容器; c、从库追平主库数据; d、主库创建用于同步的 slave 用户,并授予该用户 REPLICATION SLAVE 权限; e、获取主库 master 状态值,主从库同主机则获取主库容器 IP(端口号固定为 3306),主从库不同主机则获取主库容器映射到其主机的端口号(IP 为主机 IP); f、从库配置主库链接并启动同步; g、查看从库 slave 状态若 Slave_IO_Running和 Slave_SQL_Running 都是 Yes 则说明同步成功。 5、注意事项 a、my.cnf 配置文件中任何主库从库的 server_id 都不能相同;主库的 read-only 设置为 0,从库的 read-only 设置为 1;可通过 replicate-ignore-db 参数设置不进行同步的数据库; b、创建容器时若不加入参数“-e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime”,则创建数据库容器后容器内的系统时间跟主机系统时间不一致,从而导致主从库记录时间不一致;同主机主从库时,若不加入参数“--network my-network”进行容器间网络设置,则同主机内的主从库容器无法交互,从而导致主从同步失败;通过加入参数“-v /home/java/database/master/data:/var/lib/mysql”将主机目录挂载到容器中 MySQL 的数据保存路径 /var/lib/mysql/,这样就可以从主机获取到数据库的运行记录数据信息,而且这些信息文件即使删除容器仍然会保留在主机路径中,不过在创建容器之前,最好是保证主机挂载路径是空的,这样可以避免不必要的数据(比如旧容器的文
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值