MySql主从同步配置及实现

  

mysql主从复制

  
  

随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发,负载均衡的集群服务器。在此之前我们必须要保证每台MySQL服务器里的数据同步。数据同步我们可以通过MySQL内部配置就可以轻松完成,主要有主从复制和主主复制。

  

MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)。此文章是基于日志方式的配置步骤。

     <人力资源/>   

主从复制原理图

  

 MySql主从同步配置及实现

  <人力资源/>   

环境说明

  
      <李>主数据库IP: 192.168.1.1李   <李>奴隶数据库IP: 192.168.1.2李   <李> mysql版本:5.5.38李   
  <人力资源/>   

主从复制

  
  

1。在主从数据库配置文件,一般Linux中的MySQL配置文件都在/etc/my.cnf (windows中的配置文件为mysql.ini)。
这里以同步测试库为例子,配置如下:

     
 <代码类=" sql语言"> (mysqld)
  #数据库ID号为1时表示为大师,其中master_id必须为1到232 - 1之间的一个正整数值,主从服务器ID不能一样;
  服务器id=1
  #启用二进制日志;
  log-bin=mysql-bin
  sync-binlog=1
  #需要同步的二进制数据库名;
  binlog-do-db=测试 
  

保存文件,重启MYSQL。

  
  

2。构建主从复制,
第一步:在192.168.1.1(主)中创建一个192.168.1.2(从)可以登录的MySQL用户,这里以mysql119用户作为例子。

     
 <代码类=" sql语言"> mysql>创建用户“mysql119”@“@”被“123456”;
  mysql>格兰特复制奴隶alt=" MySql主从同步配置及实现"> 

  

第三步:告知从库二进制文件名与位置,在192.168.1.2中执行:

     
 <代码类=" sql语言"> mysql>修改主
  
  MASTER_HOST=?92.168.95.11”,
  
  MASTER_USER=癿ysql119”,
  
  祝辞MASTER_PASSWORD=' 123456 ',
  
  MASTER_LOG_FILE=癿ysql-bin.000007”,
  
  祝辞MASTER_LOG_POS=525;  
  
 <代码>到这里就完成主从复制配置。 
  
  

3。测试主重复制,在192.168.1.2中

     
 <代码类=" sql语言"> mysql>奴隶开始;#开启复制
  mysql>显示奴隶状态\ G #查看主从复制是否配置成功 
  
  

如图:
 MySql主从同步配置及实现

     
 <代码>当看到Slave_IO_Running:是的,Slave_SQL_Running:是的才表明状态正常。 
  
  

实际测试:

  
      <李>查看主测试库的test_table,李   <李>然后往主测试库插入一条数据,李   <李>观察从测试库的数据,如图:
     MySql主从同步配置及实现   
     <人力资源/>   
  

注意:
1。主重mysql版本最好保持一致,避免因版本差异出现不可预知的问题。
2。出现从数据库连接不上主数据库,查看是否授权问题。
3。在配置主从复制的时候,备份主数据前先锁表,保证数据一致性。

     

如有问题,欢迎指正!

  
  

参考文章:https://www.cnblogs.com/phpstudy2015-6/p/6485819.html

  

MySql主从同步配置及实现