美文网首页SpringFramework
金三银四攻坚系列讲解之MySQL的 主从复制

金三银四攻坚系列讲解之MySQL的 主从复制

作者: 猿生进阶 | 来源:发表于2020-12-21 21:17 被阅读0次

    前言:

    mysql 的主从复制实现的原理就是 binlog 日志,那么我们主节点负责数据库写操作,而从节点负责读操作,这样在从节点上不需要使用事务,能够大大提高数据库的性能。那么这个时候面临的问题就是从节点如何来同步主节点数据的问题,就用到了我们之前说过的 binlog 日志。从节点通过 binlog 日志来与主节点进行数据同步。

    三台节点,一个 master,两个 slave,规划如下:

    <u style="margin: 0px; padding: 0px; border: 0px;">master 192.168.153.201</u>

    <u style="margin: 0px; padding: 0px; border: 0px;">slave1 192.168.153.152</u>

    <u style="margin: 0px; padding: 0px; border: 0px;">slave2 192.168.153.153</u>

    三台节点都是使用 CentOS6.9 操作系统,数据库使用的是 mysql5.7。

    配置 master

    1.创建用户并授权

    比如我们的用户叫做 repl,创建用户语法如下:

    create user ‘repl'

    image

    2.授权

    用户必须具备 replication slave 权限,除此之外不需要其他的权限

    grant replication slave on . to 'repl'@'192.168.153.%' identified by 'repl';

    image

    3.开启 binlog 日志

    这里可以参考开启 binlog 日志的文档。

    至此,主服务器就配置好了。下面来进行配置从服务器。

    slave1

    1.修改 my.inf 配置文件

    [mysqld]server-id=2relay-log-index=slave-relay-bin.indexrelay-log=slave-relay-bin

    2.连接 Master

     change master to master_host='192.168.0.104', //Master 服务器 Ip
     master_port=3306,
     master_user='repl',
     master_password='mysql',
    master_log_file='master-bin.000001',
       //Master 服务器产生的日志 master_log_pos=0;
    change master to
    master_host='192.168.153.201',
      master_port=3306,master_user='repl',
      master_passwo rd='repl',
        master_log_file='/var/lib/mysql/mysql-bin.000001',
        master_log_pos=0;
    
    

    3.查看状态

    show slaves status\G

    image

    这里关注两个地方,第一个是 Slave_IO_Running,第二个是 Slave_SQL_Running。这两个必须都为 yes 才可以启动从节点。那么问题出现在哪里呢,后面会有日志提示

    image

    这里是说两台节点的 uuid 一致,要让这两台机器的 uuid 不一致才行,那么 uuid 在哪呢,在我们数据目录下 auto.cnf 文件中,只要修改这个文件就可以了。

    image

    再来查看状态,然后就为 yes 了。

    4.启动

    start slave

    5.关闭

    stop slave

    6.重置

    reset slave

    祝各位有心人取得自己想要的成果。

    相关文章

      网友评论

        本文标题:金三银四攻坚系列讲解之MySQL的 主从复制

        本文链接:https://www.haomeiwen.com/subject/kfmdnktx.html