继上篇文章《实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6》之后,本文介绍的是主数据库服务器通过日志文件的形式,将数据备份到另一台服务器,这样实现数据库主从复制,可实现数据的安全备份。
针对主库操作:
1. 开启master上的log-bin功能:
# vi /etc/my.cnf 添加如下内容: log_bin=mysql-bin server_id =1
2、重启mysql
# /etc/init.d/mysqld restart
3、登陆mysql在master服务器上建立账户,并授权slave功能
#mysql –uroot –p mysql> grant replication slave on *.* to 'mysql'@'%' identified by 'mysql'; mysql> flush priviliges; mysql> flush tables with read lock;
当然,如果在此操作之前,主从数据库都同时存在数据,则可以将数据库进行整体备份,备份过程如下:
1、 将mysqldump命令添加到/usr/bin中
ln -s /application/mysql/bin/mysqldump /usr/bin/
2、使用mysqldump命令对master服务器数据库备份:
# mysqldump -uroot -p -A --master-data=1 > /tmp/master_16-09-12.sql
3、备份完毕,恢复写操作:
# mysql> unlock tables;
对从库操作
1、停止slave同步操作
mysql> stop slave;
2、修改从库的配置文件
# vi /etc/my.cnf log_bin=mysql-bin server_id = 2
3、将master_16-09-12.sql文件导入从库中
# mysql -uroot -p < master_16-09-12.sql
4、配置从服务器slave
mysql> change master to master_host="主服务器IP", master_user="mysql", master_password="mysql";
5、启动从服务器slave
mysql> start slave; mysql>quit; #/etc/init.d/mysqld restart
6、检查slave服务器状态
mysql> show slave status\G;
出现如下内容则配置成功:
本次操作是通过虚拟机克隆的方式实现,出现了一个错误:
master and slave have equal MySQL server UUIDs 解决方法
这是因为在服务器拷贝过程中将数据库的整个data目录同时也拷贝过来了,这样里面就存在了auto.cnf文件,该文件存储着数据库uuid,每个数据库的uuid应该是不一样的,修改该uuid即可。
以上就是实战mysql集群搭建(二)-- 实现mysql数据库主从复制的内容,更多相关内容请关注PHP中文网(www.php.cn)!