实战mysql集群搭建(二)-- 实现mysql数据库主从复制
针对主库操作:
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)!
推荐阅读
-
php下将图片以二进制存入mysql数据库中并显示的实现代码
-
使用Java实现数据库编程—02 第二章 初始MySQL
-
基于Docker的MySQL主从复制环境搭建的实现步骤
-
linux下mysql主从复制,实现数据库同步
-
MYSQL数据库GTID实现主从复制(超级方便)
-
项目实战-物联网平台搭建-EMQ x数据转存mysql(二)
-
用java开发图形界面项目,如何实现从本地选择图片文件并以二进制流的形式保存到MySQL数据库,并重新现实到面板
-
MYSQL数据库GTID实现主从复制实现(超级方便)
-
SpringBoot个人博客—Mysql数据库搭建介绍(二)
-
基于MySQL的数据库集群系统的实现[图]_MySQL