博客列表 >MYSQL主从复制 一主一备

MYSQL主从复制 一主一备

有什么是忘不了的的博客
有什么是忘不了的的博客原创
2020年05月13日 11:04:57811浏览

1、主服务器创建,允许从服务器访问mysql二进制文件的用户。

       登录mysql执行下面 grant语句。

            MariaDB [(none)]>     grant replication slave , replication client on *.* to rep1@'%' identified by 'rep123456';

            解析:用户名为:rep1    允许所有ip访问:%   密码:rep123456

2、修改主服务器配置文件 my.cnf

        添加如下配置:

            #采用什么模式进行日志保存,STATEMENT基于语句 ROW基于行,MIXED混合模式-默认执行基于语句,当语句不能保存时候执行基于行的保存

            binlog_format           = ROW    #选填

            log-bin    =    /var/log/mysql/mysql-bin    #必填

            server-id  =    1     #必填

            expire_logs_days        = 7                           #binlog过期清理时间 ,选填

            max_binlog_size         = 100m                       #binlog每个日志文件大小 ,选填

            解析:log-bin:二进制文件保存位置和名字。    server-id:唯一服务器id,你可以随便起一般为子服务器ip的后八位。这个必须设置,且唯一

            查看配置文件:show master status;

            EIMS1G`QKT5Y_%8_BV~_OTU.png

3、创建日志目录并设置权限

        mkdir     /var/log/mysql/

        chown mysql.mysql /var/log/mysql 

4、修改从服务器的配置文件 my.cnf

        log_bin = /var/log/mysql/mysql-bin #二进制日志 

        server_id = 2        #必填

        relay_log=/var/log/mysql/mysql-relay-bin    #中继日志 必填

        log_slave_updates = 1  #允许将从库其重放的事件也记录到二进制文件

        read_only = 1    #阻止大部分用户更改f非临时表

        log-error=/var/log/mysql/mysql.log    # 错误日志文件

        skip_slave_start #阻止备库在崩溃后启动自动复制

5、创建日志目录并设置权限

        mkdir     /var/log/mysql/

        chown mysql.mysql /var/log/mysql 

        chmod 777  /var/log/mysql/

6、启动从服务器的复制。

mysql> change master to
           -> master_host='192.168.0.1',     #主库的ip

            -> master_port=3306,                   #主库的端口号

            -> master_user='rep1',                    #主库的账户名

            -> master_password='123456',            #主库的账户密码

            -> master_log_file='mysql-bin.000001',    #主库的二进制日志文件

            -> master_log_pos=328;                        #从哪个偏移量开始读取,主库的二进制日志文件

       查看状态

        show slave status;

        N]CI6A%B0ZL3Y}[{W4HB(`T.png

        现在这两个进程都为no。

        Slave_IO_Running: No

        Slave_SQL_Running: No

        启动复制

        strat    slave

        在查看状态:show slave status;

        2XVXN81T2MA28EYG`Y{GR}X.png

    现在已经启动 IO和SQL这两个进程了。

    停止主从复制

        stop slave

     重写主从复制

        reset slave;

     主-主模式下的 两个库同时对同一张表的自增列,进行添加操作时,选择不冲突的值。

        auto_increment_increment 和   auto_increment_offset

    



        


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议