参考文档:
http://blog.csdn.net/seteor/article/details/17261733
mysql版本:5.6.27
MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)。此文章是基于日志方式的配置步骤
环境:master数据库IP:10.130.130.180
slave数据库IP: 10.130.130.179mysql版本:5.6.27
1、安装mysql-5.6.27数据库
参考笔记:
CentOS6.5安装数据库mysql5.6.27
2、修改master、slave配置文件并重启服务。
vi /etc/my.cnf 注意,server-id号,二进制文件log-bin=mysql-bin
server_id=1
(slave端设置server_id=2)
log-bin=mysql-bin
重启服务:
/etc/init.d/mysqld restart
3、master设置
创建数据库db1:
mysql> create database db1;
建立用于复制的用户;
mysql>grant replication slave on *.* to 'repl'@'10.130.130.179' identified by 'pwd';
备份master数据:
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
mysql>mysqldump -uroot -p12345 > /home/wang/db1.sql
mysql> UNLOCK TABLES;
4、slave设置
拷贝文件到slave,注意拷贝时文件的权限。
scp /tmp/mydb.sql
mysql -uroot -p12345 </home/wang/db1.sql
建立mysql用户名和密码 :repl pwd
同步bin-log
mysql>CHANGE MASTER TO MASTER_HOST='10.130.130.180',MASTER_USER='repl',MASTER_PASSWORD='pwd',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=368;
5、slave同步状态
mysql> START slave;
mysql> show slave status\G;
6测试部分
通过删除sun表,观察同步情况正常。
show databases;
drop database sun;
7、遗留问题部分
mysql数据库db1表是空表,如何写入字段,后期需要做进一步了解。
[root@localhost ~]# mysql -uroot -p12345 -e "use db1;
select count(*) from db"