打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mysql AB复制
摘要关于mysqlAB复制配置。

    MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充
当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这
些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服
务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封
锁并等待主服务器通知新的更新。
请注意当你进行复制时,所有对复制中的表的更新必须在主服务器上进行。否则,你必须要小心,
以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突。

mysql的复制AB复制:两只种

 
 

                            第一种:一对多



master端:

1yum install -y mysql-server   //mysl的版本要高于3.2,而且slave节点的mysql版本要高与或与master节点一致

1.配置文件:

01vi /etc/my.cnf
02[mysqld]
03...
04log-bin=mysql-bin              #启动二进制日志系统
05binlog-do-db=test              #二进制需要同步的数据库名,如果需要同步多个库,例如要再同步
06                               zhangxc库,再添加一行“binlog-do-db=zhangxc",以此类推
07binlog-do-db=zhangxc             
08server-id=1                    #必须为 到 232–1 之间的一个正整数值
09binlog-ignore-db=mysql         #禁止同步 mysql 数据库
10....

2. 启动mysql

1service mysqld start

3.创建同步账户,并给予授权。

1mysql> grant replication slave, reload, super on *.* to zhang@'192.168.1.43' 
2identified by 'zhangxc'       //43为slave  如果再添加slave,务必再次创建账户并授权。
3mysql> flush privileges;

4.调试

1mysql> show master status;
2+------------------+----------+--------------+------------------+
3File             Position Binlog_Do_DB Binlog_Ignore_DB |
4+------------------+----------+--------------+------------------+
5mysql-bin.000004      106 test,zhangxc mysql            |
6+------------------+----------+--------------+------------------+
7row in set (0.02 sec)

slave1端:

1.安装mysql

1yum install -y mysql-server   //mysl的版本要高于3.2,而且slave节点的mysql版本要高与或与master节点一致

2.配置

1vi /etc/my.cnf
2[mysqld] 
3...
4server-id=43                    #从服务器 ID 号,不要和主 ID 相同,如果设置多个从服务器,每个从服务器必
5                                须有一个唯一的 server-id 值,必须与主服务器的以及其它从服务器的不相同。
6                                可以认为 server-id 值类似于 IP 地址:这些 ID 值能唯一识别复制服务器群集
7                                中的每个服务器实例。
8...
9[mysqld_safe]

3.启动服务

1service mysqld start

4.

01mysql> change master to master_host='192.168.1.41'master_user='zhang'
02master_password='zhangxc'master_log_file='mysql-bin.000004'master_log_pos=106;
03Query OK, rows affected (0.35 sec)
04 
05mysql> slave start;
06Query OK, rows affected (0.02 sec)
07mysql> show slave status\G;
08*************************** 1. row ***************************
09...
10             Slave_IO_Running: Yes
11            Slave_SQL_Running: Yes
12//如果都是 yes,表示从库的 I/O,Slave_SQL 线程都正确开启.表明数据库正在同步
13...

注:在同步之前确保 master 与 slave 上的数据一致性。时间同步。

 
 

                                                第二种:线性复制

在添加slave节点:

1. 由于 master 上已经有数据,而新加的 slave2 没有,必须在配置复制前同步数据。
    1.1

1mysql> FLUSH TABLES WITH READ LOCK;    #锁表f防止进行写入数据
2mysqldump --all-databases --lock-all-tables zhangxc.db  //备份一份让slave2与slave保持相同
3mysql> UNLOCK TABLES;      #表解锁

    1.2

1scp zhangxc.db 192.168.168.1.44:

slave1端

1.配置文件

1vi /etc/my.cnf
2[mysqld] 
3...
4server-id=43
5log-bin=mysql-bin
6binlog-ignore-db=mysql
7binlog-do-db=test
8log-slave-updates
9[mysqld_safe]

2.创建同步账户,并给予授权。(slave1)

1mysql> grant replication slave, reload, super on *.* to zhang@'192.168.1.44' 
2identified by 'zhangxc';
3Query OK, rows affected (0.02 sec)
4 
5mysql> flush privileges;
6Query OK, rows affected (0.02 sec

3.重启mysqld

4.测试

1mysql> show master status;
2+------------------+----------+--------------+------------------+
3File             Position Binlog_Do_DB Binlog_Ignore_DB |
4+------------------+----------+--------------+------------------+
5mysql-bin.000001      106 test         mysql            |
6+------------------+----------+--------------+------------------+
7row in set (0.01 sec)

slave2端:

1.安装mysql

1yum install -y mysql-server

2.配置

1vi /etc/my.cnf
2[mysqld] 
3...
4server-id=44 
5...
6[mysqld_safe]

3.启动服务

1service mysqld start

4.

01mysql> change master to master_host='192.168.1.43'master_user='zhang'
02master_password='zhangxc'master_log_file='mysql-bin.000001'master_log_pos=106;
03Query OK, rows affected (0.35 sec)
04 
05mysql> slave start;
06Query OK, rows affected (0.02 sec)
07mysql> show slave status\G;
08*************************** 1. row ***************************
09...
10             Slave_IO_Running: Yes
11            Slave_SQL_Running: Yes
12...

注:在同步之前确保 master 与 slave 上的数据一致性。时间同步。


                                                       大家如果对于mysqlAB复制配置有什么疑问,可以向我留言

                                                                                                                    -------我爱吃葱花

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
mysql主从复制,半同步,主主复制架构的实现
数据库主从设置
《高可用MySQL》2 – 单机版MySQL主从配置
MySQL 主从复制的原理和配置
Linux搭建MySQL主从
双机热备份与MySQL集群方案
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服