欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

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

更新时间: 2014-01-05 02:08:35 责任编辑: Author_N1

 

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
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:08:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6108/
本文WWW.DOC100.NET DOC100.NET版权所有。