主从复制

MySQL主从复制

前提是:主DB server和从DB server的数据库版本一致,库名一致,主DB server开启二进制日志,而且两者的server id必须唯一(两者的server id取ip地址最后一位就好)。

1)主DB server配置

1. vim  /etc/my.cnf

如果etc下没有my.cnf,cp /usr/share/mysql/my-default.cnf  /etc/my.cnf

binlog-do-db=db1  //同步db1

binlog-ignore-db=mysql  //不同步 mysql

#启用二进制日志

log-bin=mysql-bin

#服务器唯一ID,一般取IP最后一段

server-id=128   

修改完成后 service mysql restart

2.授权给slave

mysql>GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';

mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456';  //赋给back权限

刷新权限  flush privileges;

查看当前有哪些用户 mysql>select user,host from mysql.user;

3.查询master状态

mysql> show master status; //复制file和Position用作从DB server配置中。

2)从DB server配置

1.vim /etc/my.cnf

在尾部添加 server-id=129

完成后 service mysql restart

2.配置从服务器

mysql>change master to master_host='192.168.137.128',master_port=3306,master_user='backup',master_password='123456',master_log_file='(file)',master_log_pos=(Position);

//对应master状态中的file 、 Position

3.检查状态

输入 show slave status

Slave_IO_Running: Yes //此状态必须YES

Slave_SQL_Running: Yes //此状态必须YES

附录:每次重启主DB server后 file和Position都会改变,如果重启主DB server的话,应该从附属DB server的第二步开始重新配置。

你可能感兴趣的:(主从复制)