Mysql主从复制配置

博主: haitianisgood

原博客网址:

http://blog.csdn.net/haitianisgood/article/details/73695146

Mysql主从复制配置

以下给简单配置

1、主从服务器分别作以下操作:

1.1、版本一致
1.2、初始化表,并在后台启动mysql

2、修改主服务器master

vim /etc/my.cnf

[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=851      //[必须]服务器唯一ID,默认是1,一般取IP最后二段
expire_logs_days = 30
relay_log_purge = 0
relay-log=relay-bin
log_slave_updates = 1

3、修改从服务器slave

vim /etc/my.cnf

[mysqld]
log-bin=mysql-bin   //[不是必须]启用二进制日志
server-id=852      //[必须]服务器唯一ID,默认是1,一般取IP最后二段
expire_logs_days = 30
relay_log_purge = 0
relay-log=relay-bin
log_slave_updates = 1
read_only=1

4、重启两台服务器的mysql

service mysql restart

5、在主服务器上建立帐户并授权slave

mysql>GRANT REPLICATION SLAVE ON *.* to 'repl852'@'%' identified by 'repl852';

6、登录主服务器的mysql,查询master的状态

mysql> show master status;

Mysql主从复制配置_第1张图片

7、配置从服务器Slave并启动复制功能

change master to master_host='172.16.85.1',master_user='repl852',master_password='repl852',master_log_file='mysql-bin.000001',master_log_pos=1381; 

注意不要断开,1308数字前后无单引号

启动复制功能

mysql>start slave;    //启动从服务器复制功能

8、检查从服务器复制功能状态:

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.16.85.1
                  Master_User: repl852
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 1381
               Relay_Log_File: relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
           Replicate_Ignore_DB: 
            Replicate_Do_Table: 
        R eplicate_Ignore_Table: 
       Replicate_Wild_Do_Table: 
    Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 1381
              Relay_Log_Space: 403
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
    Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态

到此主从服务器配置完成!!!

my.cnf参数说明:

expire_logs_days 设置日志过期时间并自动删除日志,包括log-bin和relay-log日志
relay_log_purge = 0 设置relay log 保留一段时间
log_slave_updates = 1 从库通过I0线程读取主库二进制日志文件,然后通过SQL线程写入的数据时候,写入从库自身的binlog日志
relay-log 设置relay日志
read_only=1设置数据库为只读模式,只对普通用户起作用。对root或拥有super权限的无效果。

注意:

  1. 不能复制主数据现有的数据库数据,只能复制新的数据库数据。

  2. 如果从数据库中没有主数据库中的某个数据库,而这个又更新,将导致整个主从无法复制。

你可能感兴趣的:(mysql,主从复制,master,slave,Mysql)