您的位置:首页 > 数据库 > MySQL

mysql高级:主从复制

2016-06-22 22:38 387 查看
mysql主从复制 replication

复制原理:

    1.master做更改数据操作(insert、update、delete)时,操作记录在binlog日志中。

    2.slave读取master的binlog日志文件,分析并生成relaylog并将操作复制到salve。

实现步骤:

    1.master服务器配置binlog

    2.slave服务器配置relaylog

    3.master授权slave账号,用来读取binlog权限

    4.slave服务器用账号连接master服务器

实现:

    1.编辑master服务器my.cnf文件 //同常在/etc/下

        设置如下值:

            # 服务器ID

            server-id=101

            # 声明2进制日志binlog的文件名 如下设置,生成后为mysql-bin.xxxx

            bin-log=mysql-bin

            # 二进制格式: mixd/row/statement

            #

            # row: 2进制记录磁盘变化

            # statement: 2进制录制执行语句,如update...

            # mixd: 以上两种混合

            #

            # 语句复杂而磁盘变化少,合适用row

            # 语句简单而影响数据多(上万行),合适用statement

            # 如没办法明确以上两种哪种更佳合适,用mix。 又系统根据语句来自动决定

            binlog-format=mixd

        查看日志文件:

            show master status

            # 记录下当前binlog文件名与指针位置,稍后设置slave服务器起始binlog文件时有用到

    2.编辑slave服务器my.cnf文件 //同常在/etc/下

        # slave服务器的二进制文件也建议打开,可以在特殊情况下回复数据用,也可以给slave的从服务器读取用。

        设置如下值:

            # 服务器ID

            server-id=201

            # 声明2进制relaylog日志的文件名 如下设置,生成后为relay-bin.xxxx

            relay-log=mysql-relay

            # 声明2进制binlog日志的文件名 如下设置,生成后为relay-bin.xxxx

            log-bin=mysql-bin

            binlog-format=mixd

    3.master服务器授权用户用来给slave读取binlog日志

        grant replication client,replication slave on *.* to binlog@192.168.1.% identified by 'binlog';

        flush privileges;

    4.slave服务器设置读取master服务器的用户

        change master to

        master_host='192.168.1.101'

        master_user='binlog'

        master_password='binlog'

        master_log_file='mysql-bin.000001' // 当前binlog文件名

        master_log_pos=348;  // 当前binlog指针位置

    5.重启master与slave服务器的mysql服务

        service mysqld restart

    6.查看slave服务器与master服务器连接状态是否正常

        master服务器mysql终端执行

        show slave status

        # 如没有连接成功,请检查iptable

        # 设置iptable后,先 rstop slave 关闭slave服务,之后再 start slave 启动slave服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 主从复制