mysql通过binlog日志复制主从同步的实现!
mysql通过binlog日志复制主从同步的实现!
本文主要介绍了mysql通过binlog日志复制主从同步的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
主从复制binlog日志方式
量大的时候使用GTID效率更高,维护起来比较麻烦
有了主从同步也要做备份(双保险,本地有一份,主从同步也有一份 )
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
1、准备环境两台机器,关闭防火墙和selinux。---两台机器环境必须一致。时间也得一致10.36.107.10 mysql-master10.36.107.11 mysql-slave2、两台机器安装mysql5.7(略)建议使用相同的安装方式注意:对主库已有的数据库不会进行自动同步。主从同步之前,对主库上已有数据库备份,并在从库上导入同步。1.开始配置主服务在主服务器上添加配置vim /etc/my.cnf [mysqld]log-bin=/usr/local/mysql/logs/mysql-bin/mylogserver-id=1重启服务systemctl restart mysqld在从服务器上添加配置[mysqld]server-id=2重启服务systemctl restart mysqld在主服务器上 创建日志目录并赋予权限[root@mysql-master ~]# mkdir /usr/local/mysql/logs/mysql-bin/mylog[root@mysql-master ~]# chown mysql:mysql /usr/local/mysql/logs/mysql-bin/mylog2.在主服务器上查看binlog以及POSmysql> show master status \G; 1943.给主库授权 创建主从同步的用户:(只设置一个复制权限就可以了 slave )mysql> grant replication slave on *.* to 'repl'@'%' identified by 'Qf@12345!';mysql> flush privileges;查看状态 状态码会发生变化mysql> show master status \G; 6293在从服务器上从库重设#全在从库执行(断开于主库之间的通信,脱离主从关系)mysql> stop slave;mysql> reset slave;mysql> reset master;查看状态 状态码会发生变化mysql> show master status \G; (执行这条命名发现登录不上 就重启一下 systemctl stop mysqldsystemctl start mysqld mysql然后在登录,因为之前做过GTID残留)mysql> change master tomaster_host='192.168.171.15',master_user='repl', master_password='Qf@12345!', master_log_file='/usr/local/mysql/bin-log/binlog.000002',master_log_pos=2625;find / -name "binlog.000002" 查找binlog的绝对路径/usr/local/mysql/bin-log/binlog.000002启用从库身份mysql> start slave;查看状态mysql> show slave status\G;#查看状态,验证sql和IO是不是yes。在主服务器创建数据库a2mysql> create database a2;在从服务器上进行查看a2mysql> show databases;在主服务器删除数据库a2mysql> drop databases a2;在从服务器上进行查看a2也删除了mysql> show databases;开启只读模式查看是否只读模式:show variables like 'read_only';关闭只读模式vim /etc/my.cnfread-only=1并重启mysql服务systemctl restart mysqld |
故障切换
|
1
2
3
4
5
6
7
8
9
10
|
mysql主从,master宕机,如何进行切换?主机故障或者宕机:1)在salve执行:mysql> stop slave;mysql> reset master;2)查看是否只读模式:show variables like 'read_only';只读模式需要修改my.cnf文件,注释read-only=1并重启mysql服务。或者不重启使用命令关闭只读,但下次重启后失效:set global read_only=off;3)查看show slave status \G;4)在程序中将原来主库IP地址改为现在的从库IP地址,测试应用连接是否正常 |
查看uuid号码
|
1
2
3
4
|
[root@localhost ~]# vim /usr/local/mysql/data/auto.cnf[auto]server-uuid=4f37a731-9b79-11e8-8013-000c29f0700f修改uuid并重启服务 |
重设从库
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
主库查看binlog,posmysql> show master status \G;*************************** 1. row ***************************File: mylog.000003Position: 348Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.00 sec)从库上操作mysql>stop slave;mysql>reset slave;mysql>reset master; #从库的binlog已经无效了,所以要执行这个命令清空binlogCHANGE MASTER TOMASTER_HOST='10.36.107.10',MASTER_USER='slave',MASTER_PASSWORD='Qf@12345!',MASTER_LOG_FILE='mylog.000003',MASTER_LOG_POS=348;mysql> start slave;mysql> show slave status\G; |
到此这篇关于mysql通过binlog日志复制主从同步的实现的文章就介绍到这了。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

