环境: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 主从主主复制总结(详细)的更多相关文章

  1. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践

    双机热备的概念简单说一下,就是要保持两个数据库的状态 自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做的好处多. 1. 可以做灾备,其中一个坏了可以切换 ...

  2. 学一点 MYSQL 双机异地热备份—-MYSQL主从,主主备份原理及实践

    简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...

  3. 快速理解mysql主从,主主备份原理及实践

    感谢大家在上一篇 学一点Git--20分钟git快速上手 里的踊跃发言.这里再次分享干货, 简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动 ...

  4. mysql主从配置主主配置

    一.     概述  MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能.本文档主要阐述了如何在linux系 ...

  5. MYSQL主从同步/主主同步

    一.MYSQL主从同步 注意:进行主从同步操作时需要确保DB无写操作 flush tables with read lock:   //全局读锁定,执行了命令之后所有库所有表都被锁定只读. 1.在主机 ...

  6. MySQL主从及主主环境部署

    主从同步 主机环境 mysql的安装可以参考:https://www.cnblogs.com/brianzhu/p/8575243.htmlCentos7版本master:192.168.192.12 ...

  7. CentOS 6.5 下MySql主从、主主配置

    参考网站: http://blog.csdn.net/faye0412/article/details/6280761 http://blog.csdn.net/kk185800961/article ...

  8. MySQL主从、主主、半同步节点架构的的原理及实验总结

    一.原理及概念: MySQL 主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来 ...

  9. mysql主从之主键冲突

    收到短信报警,两台数据库都报slave同步失败了,先说明一下环境,架构:lvs+keepalived+amoeba+mysql,主主复制,单台写入, 主1:192.168.0.223(写) 主2:19 ...

  10. 高性能Mysql主从架构的复制原理及配置详解

    温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...

随机推荐

  1. Linux下iscsi的使用

    查看是否已安装了iscsi-initiator:  [root@test\ ~]# rpm -qa |grep iscsi iscsi-initiator-utils-6.2.0.868-0.18.e ...

  2. Linux就该这么学 20181004(第六章磁盘管理)

    参考链接https://www.linuxprobe.com/ /boot 开机锁需要文件-内核.开机菜单以及所需配置文件 /dev 以文件形式存放的任何设备与接口 /etc 配置文件 /home 用 ...

  3. Codeforces 676E The Last Fight Between Human and AI 规律

    链接 Codeforces 676E The Last Fight Between Human and AI 题意 给一个多项式,有些系数不确定.人和机器轮流填系数,系数可以是任何数,问是否能使得最后 ...

  4. 移动端 input光标问题 以及 监听输入

    1.  input 框光标问题: input框 在ios上显示的与Android是不一样的 显示是这样的 而且在输入的时候 光标位置变化了 是这样的 为了达到一致的效果 在行高加上\9     如:l ...

  5. 银行bank系统项目实践

    想看项目的注意了!完整版银行管理系统就在这里看不看你看着办! 按照惯例咱们还是先来看一下项目需求: 某银行为了提高业务率希望开发一个银行管理系统功能如下: 1.能够完成用户开户操作 2.能够完成用户取 ...

  6. ES6 | 关于class类 继承总结

    子类必须在constructor方法中调用super方法,否则新建实例时会报错.这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工.如果不调用super方法,子类就得不到 ...

  7. word-wrap与word-break的区别,以及无效情况

    两种方法的区别说明: 1,word-break:break-all 例如div宽400px,它的内容就会到400px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词 ...

  8. 函数式编程-只用"表达式",不用"语句"()

    把函数当作普通的运算符使用. 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值: ...

  9. js效果之导航中英文转换

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. System.getProperty可以获取的参数

    java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目 ...