原理:从库读取主库的二进制文件,按照主库的二进制文件的操作进行同样的操作,以达到从库和主库内容一致。

要求:从库的数据库版本不能低于主库数据库版本——大于等于,并都高于3.2版本。

环境:主库:192.168.0.1 从库:192.168.0.2

1.主库创建/etc/my.cnf,修改[mysqld]里的键值

server-id=1

log-bin=mysql-binlog //设置日志文件的前缀

binlog-do-db=db_name //记录日志的数据库

binlog-ignore-db=db_name //不记录日志的数据库,写不写无所谓

2.主库增加用户,用于从库读取主库日志。

mysql > grant  replication slave,reload ,super on *.* to slave@192.168.0.2 identified  by '123456';

mysql > flush privileges; #flush tables with read lock;

3.在从库机器上连接主库测试连通性:

mysql > mysql -uslave -p123456 -h 192.168.0.1;

4.使用mysqldump将主库数据库备份至从库数据库

5.停掉从库,修改从库/etc/my.cnf,增加选项:

[mysqld]

server-id=2

master-host=192.168.0.1
master-user=slave
master-password=123456

6.启动从库,进行主从库数据同步

service mysqld start 
mysql -uroot -p 

mysql > slave start;
mysql > load data from master;

7.测试。