Mysql 主从主主复制总结(详细)
环境:Centos 6.9,Mysql 8.0
配置准备:1、为Centos配置好网络,使用远程工具连接。
2、安装mysql,途径不限。mysql8.0和5.7区别不大,8.0在配置主从的时候默认开启了binlog,5.7手动起一下就好,下文有启动方法。(我使用rpm包安装,安装后要先启动msyql服务,命令service mysqld start)
3、mysql安装后的默认密码在 /etc/my.cnf 中 log-error配置项所指向的log地址中 /var/log/mysqld.log

主从复制
好处:多节点性能变优,安全性更高,提高服务器负载。
应用场景:数据库备份、读写分离
步骤: 首先。确定一个主节点master,其他为从节点slave。
1、配置主节点。创建用户授予权限;如果binlog没开启,打开binlog日志;
2、配置从节点。配置同步日志;确定主节点的ip,端口,用户;启动从节点;
主节点(Master):
修改mysql配置文件,vim /etc/my.cnf 配置server-id的值,与从节点不能重复。
创建创建一个用户。 create user 'repl'@'192.168.110.%' identified by 'Repl_123456';
在主服务器赋予它 replication slave 权限。grant replication slave on *.* to 'repl'@'192.168.110.%';
mysql 日志类型:
Error log 错误日志
General query log普通查询日志
Slow query log 慢查询日志(记录哪些查询比较慢 )
Binary log二进制日志文件(1、用于增量备份。2、主从)
查看是否已开启binlog:show variables like '%log_bin%';
如果没开启,配置 :vim /etc/my.cnf加上 server-id=1(多台节点值不能重复)和 log_bin=/var/lib/mysql/mysql-bin 保存退出 重启mysql服务。
查看binlog日志:在mysql中 show binlog events in '文件名'; 在系统中 mysqlbinlog 文件名;
每次重新启动mysql都会新建一个binlog。查看当前是哪个binlog文件:show master status;
show msater logs;(查看所有日志文件),reset master(清空所有日志文件)
binlog日志恢复数据
mysqlbinlog 文件名 | mysql -u root -p
从节点(Slave):
修改mysql配置文件,vim /etc/my.cnf
配置server_id(不能与主节点重复,且必须为数字)
配置同步日志路径relay-log=/var/lib/mysql/relay-bin
进入mysql执行
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.110.66',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='Repl_123456',
-> MASTER_LOG_FILE='binlog.000007',
-> MASTER_LOG_POS=0;
Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
show slave status\G;检查是否已链接上主节点,根据里面的错误信息修改配置。确保master防火墙关闭,/var/lib/mysql/auto.cnf里的uuid不重复。
如果出现Slave_Io_Running:yes但Slave_SQL_Running:No的情况执行
mysql> stop slave;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave;

配置成功!
主主复制其实的意思就是节点直接互为主从复制。
在配置好主从之后再去配置从节点,反向配置一遍主从。
Mysql 主从主主复制总结(详细)的更多相关文章
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
双机热备的概念简单说一下,就是要保持两个数据库的状态 自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做的好处多. 1. 可以做灾备,其中一个坏了可以切换 ...
- 学一点 MYSQL 双机异地热备份—-MYSQL主从,主主备份原理及实践
简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...
- 快速理解mysql主从,主主备份原理及实践
感谢大家在上一篇 学一点Git--20分钟git快速上手 里的踊跃发言.这里再次分享干货, 简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动 ...
- mysql主从配置主主配置
一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能.本文档主要阐述了如何在linux系 ...
- MYSQL主从同步/主主同步
一.MYSQL主从同步 注意:进行主从同步操作时需要确保DB无写操作 flush tables with read lock: //全局读锁定,执行了命令之后所有库所有表都被锁定只读. 1.在主机 ...
- MySQL主从及主主环境部署
主从同步 主机环境 mysql的安装可以参考:https://www.cnblogs.com/brianzhu/p/8575243.htmlCentos7版本master:192.168.192.12 ...
- CentOS 6.5 下MySql主从、主主配置
参考网站: http://blog.csdn.net/faye0412/article/details/6280761 http://blog.csdn.net/kk185800961/article ...
- MySQL主从、主主、半同步节点架构的的原理及实验总结
一.原理及概念: MySQL 主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来 ...
- mysql主从之主键冲突
收到短信报警,两台数据库都报slave同步失败了,先说明一下环境,架构:lvs+keepalived+amoeba+mysql,主主复制,单台写入, 主1:192.168.0.223(写) 主2:19 ...
- 高性能Mysql主从架构的复制原理及配置详解
温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...
随机推荐
- Linux下iscsi的使用
查看是否已安装了iscsi-initiator: [root@test\ ~]# rpm -qa |grep iscsi iscsi-initiator-utils-6.2.0.868-0.18.e ...
- Linux就该这么学 20181004(第六章磁盘管理)
参考链接https://www.linuxprobe.com/ /boot 开机锁需要文件-内核.开机菜单以及所需配置文件 /dev 以文件形式存放的任何设备与接口 /etc 配置文件 /home 用 ...
- Codeforces 676E The Last Fight Between Human and AI 规律
链接 Codeforces 676E The Last Fight Between Human and AI 题意 给一个多项式,有些系数不确定.人和机器轮流填系数,系数可以是任何数,问是否能使得最后 ...
- 移动端 input光标问题 以及 监听输入
1. input 框光标问题: input框 在ios上显示的与Android是不一样的 显示是这样的 而且在输入的时候 光标位置变化了 是这样的 为了达到一致的效果 在行高加上\9 如:l ...
- 银行bank系统项目实践
想看项目的注意了!完整版银行管理系统就在这里看不看你看着办! 按照惯例咱们还是先来看一下项目需求: 某银行为了提高业务率希望开发一个银行管理系统功能如下: 1.能够完成用户开户操作 2.能够完成用户取 ...
- ES6 | 关于class类 继承总结
子类必须在constructor方法中调用super方法,否则新建实例时会报错.这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工.如果不调用super方法,子类就得不到 ...
- word-wrap与word-break的区别,以及无效情况
两种方法的区别说明: 1,word-break:break-all 例如div宽400px,它的内容就会到400px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词 ...
- 函数式编程-只用"表达式",不用"语句"()
把函数当作普通的运算符使用. 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值: ...
- js效果之导航中英文转换
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- System.getProperty可以获取的参数
java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目 ...