欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

实战mysql集群搭建(二)-- 实现mysql数据库主从复制

程序员文章站 2022-04-06 10:37:21
...
继上篇文章《实战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;

出现如下内容则配置成功:

实战mysql集群搭建(二)-- 实现mysql数据库主从复制

本次操作是通过虚拟机克隆的方式实现,出现了一个错误:

master and slave have equal MySQL server UUIDs 解决方法

这是因为在服务器拷贝过程中将数据库的整个data目录同时也拷贝过来了,这样里面就存在了auto.cnf文件,该文件存储着数据库uuid,每个数据库的uuid应该是不一样的,修改该uuid即可。

以上就是实战mysql集群搭建(二)-- 实现mysql数据库主从复制的内容,更多相关内容请关注PHP中文网(www.php.cn)!