Home > Database > Mysql Tutorial > MYSQL使用经验(二)-主从复制

MYSQL使用经验(二)-主从复制

WBOY
Release: 2016-06-07 16:15:37
Original
1192 people have browsed it

MYSQL使用心得(二)----主从复制 主数据库 建立账户,供slave同步使用 GRANT REPLICATION SLAVE ON *.* to 'test'@'192.168.56.3' identified by 'test'; Mysql show master status; +------------------+----------+--------------+------------------+ | Fil

MYSQL使用心得(二)----主从复制
主数据库
建立账户,供slave同步使用
GRANT REPLICATION SLAVE ON *.* to 'test'@'192.168.56.3' identified by 'test';

Mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 | 261 | | |
+------------------+----------+--------------+------------------+
记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。




从数据库

执行同步SQL语句,地址为主数据库地址,和主数据库上的用户名和密码
change master to
master_host='192.168.56.2',
master_user='test',
master_password='test',
master_log_file='mysql-bin.000008',
master_log_pos=107;

正确执行后启动Slave同步进程
start slave;

主从同步检查
mysql> show slave status\G
==============================================
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.56.2
                  Master_User: test
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000008
          Read_Master_Log_Pos: 258
               Relay_Log_File: Slave2-relay-bin.000003
                Relay_Log_Pos: 404
        Relay_Master_Log_File: mysql-bin.000008
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 258
              Relay_Log_Space: 561
              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
==============================================

其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。

【参考资料】
mysql实战高级教程
http://zhumeng8337797.blog.163.com/blog/static/100768914201191385538506/
mysql5.6主从复制
http://blog.csdn.net/stuartjing/article/details/9719701
MYSQL数据丢失讨论
http://hatemysql.com/tag/sync_binlog/
GTID
http://www.tuicool.com/articles/NjqQju
http://mysqllover.com/?p=87

【注意】
mysql5.6如果直接拷贝安装,需要手动删除data_dir下的auto.cnf文件

【其他配置】
在线执行主从配置
FLUSH TABLES WITH READ LOCK;
UNLOCK TABLES;

在从库数据文件夹下,有个master.info文件,是从机器上特有的。

重置从库:用于让从属服务器忘记其在主服务器的二进制日志中的复制位置, 它会删除master.info和relay-log.info文件,以及所有的中继日志,并启动一个新的中继日志,当你不需要主从的时候可以在从上执行这个操作。
RESET SLAVE;

重新配置主库
RESET MASTER;

查看复制日志
show binlog events in 'mysql-bin.000004' \G;



如果是主主配置,需要注意配置
[mysqld]
# 步进值
auto_increment_increment=2
# 起始偏移量
auto_increment_offset=1

# 使从服务器把复制的事件记录到自己的二进制日志中
log_slave_updates=1

自动删除binlog
设置自动清理MySQL binlog日志,配置my.cnf:
expire_logs_days = 10
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template