mysql主从复制

0、说明

  mysql服务版本最好一致,不一致可能会出问题
  master数据库ip:192.168.0.10
  slave数据库ip:192.168.0.11

1、修改主服务器master

vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin   #[必须]启用二进制日志
server-id=10        #[必须]服务器唯一ID,默认是1,一般取IP最后一段

2、修改从服务器slave

vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin   #[必须]启用二进制日志
server-id=11        #[必须]服务器唯一ID,默认是1,一般取IP最后一段

3、重启mysql服务

service mysqld restart    #如果修改了my.cnf

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

grant replication slave, super, reload on *.* to 'slave'@'192.168.0.11' identified by '123456';
flush privileges;

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

mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      308 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

  注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

6、配置从服务器Slave

mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.10',
    -> MASTER_USER='slave',
    -> MASTER_PASSWORD='123456',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=308;

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

#检查从服务器复制功能状态
mysql> show slave status\G

7、意外

  意外1:主机停机,备机正常:主机重启之后,备机仍然可以正常进行复制同步。

  意外2:主机不停机,备机停机:备机重启后,备机开启手工复制功能如下:

      Mysql> start slave;

  意外3:主机停机,备机停机:

    (1) 先开启slave,启动mysql,进入mysql
      Mysql> stop slave;
      Mysql> show slave status \G;记下最后一个pos与binlog值为mysql-bin.000079、875653787

    (2) 重新指定master目标:
      Mysql> change master tomaster_user='rel',
          master_password=' slavepd1012301151' ,
          master_host='192.168.250.20,
          master_log_file='mysql-bin.000079',
          master_log_pos=875653787;

    (3) 启动master
    (4) 进入slave,启动复制功能。

8、参考

  http://www.cnblogs.com/jirglt/p/3549047.html
  http://369369.blog.51cto.com/319630/790921/
  http://blog.itpub.net/23490154/viewspace-1062530/

 

posted @ 2015-06-02 18:56  ccppe  阅读(177)  评论(0编辑  收藏  举报