首页  >  文章  >  数据库  >  实战mysql集群搭建(二)-- 实现mysql数据库主从复制

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

黄舟
黄舟原创
2017-02-28 13:29:411641浏览

       继上篇文章《实战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)!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn