MySQL主主复制

环境准备:

2台CentOS 6.9

安装MySQL

1.wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

2.yum localinstall -y mysql57-community-release-el6-9.noarch.rpm

3.yum install mysql-community-server

 

我们的方案设计基于 MySQL 的主从数据复制功能,以下是基于 mysql5.7 最新版本的主从配置。

开启 MySQL 主从数据复制,主要在 MySQL 的 my.ini 文件中设置:
Windows 系统一般在 C:\ProgrameData\MySQL 中:
Linux 系统一般在 /etc/my.cnf 中:

打开 my.cnf 文件,在[mysqld]下 添加:

port=3306
server_id=1
log-bin=mysql-bin
relay_log=mysql-relay-bin
binlog_format = row     
binlog-ignore-db=mysql    
binlog-ignore-db=information_schema 
auto-increment-offset=1  
auto-increment-increment=2

创建一个允许从服务器来访问的用户(

grant replication slave on *.* to 'root'@'10.0.0.6' identified by 'root';
说明:

  • root:Slave 使用的账号
  • IDENTIFIED BY 'root' :Slave 使用的密码
  • 10.0.0.6:Slave 数据库 IP

master 端,通过 show master status\G 显示信息。如图:

注意上图中的 File,和 Position。Slave 中会用到这些信息。

从 数据库服务器配置:

打开 my.cnf 文件,在[mysqld]下 添加:

 

port=3306
server_id=2
log-bin=mysql-bin
relay_log=mysql-relay-bin
binlog_format = row     
binlog-ignore-db=mysql    
binlog-ignore-db=information_schema 
auto-increment-offset=2  
auto-increment-increment=2

关联上  Master  信息: 

change master to
master_host='10.0.0.5',master_user='root',master_port=3306,master_password='root'
master_log_file='mysql-bin.000001',master_log_pos=120;
命令说明:

  • master_host:master 数据库服务器 ip
  • master_user: master 数据库通过 GRANT 授权的账号
  • master_port:master 数据库使用的端口号
  • master_password:master 数据库通过 GRANT 授权的密码
  • master_log_file:master 数据库中通过 show master status 显示的 File 名称
  • master_log_pos:master 数据库中通过 show master status 显示的 Position 数据

重启 Slave 的 MySql 服务
在命令行中输入 start slave.
在命令行中输入 show slave status,显示如下:

注意:只有 Slave_IO_Running 与 Slave_SQL_Running 都为 Yes 才配置成功。
至此,配置全部完成。这样,Master 服务器上 Industry 里的数据就能同步到 slave 的 Industry
数据库中。

其实主主复制就是互相为主从,所以我们只需要反过来再配置一次主从就OK了。

 

posted @ 2018-05-15 16:47  公羊天纵  阅读(156)  评论(0编辑  收藏  举报