mysql主从复制----一主多从

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GX_1_11_real/article/details/81237626

前言


在实际的生产中当然不可能只有一主一从,因此在生产中,mysql数据库最基础的架构是一主多从,当然这个结构对数据并不是很安全。

mysql还有多主一从、多主多从等架构,前面实际上已经介绍了一主多从或者说是添加从库的操作,但是本篇还是专门提出来,详细介绍一下。



一主多从(添加从库)



具体操作请参考如下,实际上按照此步骤,接着做即可完成多从
https://blog.csdn.net/gx_1_11_real/article/details/81085326

如出现数据不同步问题,请参考下列链接:
https://blog.csdn.net/gx_1_11_real/article/details/80658527


  • 新增从库的版本要与主库的版本相同

  • 更改新从库的my.cnf的配置(每个server-id都是唯一的)

  • 启动从库

  • 主库创建用于同步的用户账号及密码

grant replication slave on . to ‘repl’@’从库的IP’ identified by ‘密码’;


  • 先进入主库,进行锁表,此处锁定为只读状态,防止数据写入 (可选,因如有数据库备份,可直接利用备份)

flush tables with read lock;

mysqldump -uroot -p‘….’ -hlocalhost > mysql.back.sql

rsync -aP mysql.back.sql 从库IP:/root/ (位置任意)


  • 从库导入数据

mysql -uroot -p… -f < mysql.back.sql


  • 主库解锁

    unlock tables;


  • 从库停止slave服务,连接主库

    stop slave;

change master to master_host = ‘主库的IP’, master_user = ‘设置主从时设定的主库的用户’, master_port=主库的端口, master_password=’主库设定的密码’, master_log_file = ‘主库状态的File’, master_log_pos=主库状态的Position;


  • 开启从库

start slave;


  • 查看从库状态

show slave status \G;

注意:如下即为成功,如其中任意一个不为Yes即为失败。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes



猜你喜欢

转载自blog.csdn.net/GX_1_11_real/article/details/81237626