zoukankan      html  css  js  c++  java
  • 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 statusG;检查是否已链接上主节点,根据里面的错误信息修改配置。确保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;

               

    配置成功!

     主主复制其实的意思就是节点直接互为主从复制。

     在配置好主从之后再去配置从节点,反向配置一遍主从。

  • 相关阅读:
    人月神话阅读笔记01
    HTML中常用meta整理
    前端开发中的SEO
    webGL学习笔记
    webGL 学习教程
    HTMl5的sessionStorage和localStorage
    Validform使用
    gulp详细入门教程
    gulp.spriteSmith使用
    gulp.spritesmith修改px为rem单位
  • 原文地址:https://www.cnblogs.com/zzuuoo666/p/8906314.html
Copyright © 2011-2022 走看看