配置mysql复制基本步骤

mysql主从复制的过称其实是:将一台服务器的数据复制到其他服务器上并重新执行一遍的。复制过程中一台服务器当作主服务器(Master),一台或多台服务器当作从服务器(SLave).主服务器将更新写入到二进制日志文件,并维护一个索引以跟踪日志循环。这些日志可以记录发送给从服务器的更新,当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置,从服务器接收从那时起的任何更新,然后封锁并等待主服务器通知新的更新。

整体上分为三个步骤:

1.master将改变记录到日志文件(binary log)中

2.slave复制二进制日志事件(binary log event)到中继日志(relay log)中

3.slave重做中继日志,将改变转化成自己的数据

技术分享

环境:

系统:centos6.3

Master:10.10.0.224

Slave:10.10.0.226


1.创建备份帐号,只允许从服务器有权限

mysql> grant all privileges on *.* to [email protected] identified by ‘123456‘;

mysql> flush privileges;


2.拷贝数据

停掉mysql服务或者锁表,将master中的数据拷贝到slave中,保证两边数据的一致,并且确保数据同步结束之前禁止在master和slave进行写操作!

mysql> flush tables with read lock;    #锁表

mysql> unlock tables;    #解锁

3.配置master

# vim /etc/my.cnf

    #选择唯一的server-id

    server-id = (0--2^32-1)

    #启动二进制日志

    log-bin = mysql-bin

    log-bin-index = mysql-bin.index

# service mysqld restart

# mysql

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000004 |  3318591 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)


4.配置slave

# vim /etc/my.cnf

    server_id = 2

    log-bin = mysql-bin

    log-bin-index = mysql-bin.index

    relay-log = relay-log

    relay-log-index = relay-log.index


5.连接至主服务器并开始复制数据

mysql> stop slave;

mysql> change master to master_host=‘10.10.0.224‘,master_port=‘3306‘master_user=‘backup‘,

master_password=‘123456‘,master_log_file=‘mysql-bin.000005‘,master_log_pos=360;

mysql> start slave;

mysql> show slave status\G;

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 10.10.0.224

                  Master_User: backup

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000005

          Read_Master_Log_Pos: 360

               Relay_Log_File: relay-log.000002

                Relay_Log_Pos: 251

        Relay_Master_Log_File: mysql-bin.000005

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

*************************** 1. row ***************************


show processlist\G;可以查看I/0线程状态

本文出自 “ngames” 博客,请务必保留此出处http://ngames.blog.51cto.com/3187187/1655959

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。