YY-LIN 发表于 2018-10-2 14:36:35

mysql 5.7.20如何配置主从

  主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库,从数据库的作用和使用场合一般有几个:


[*]作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作;
[*]可在从数据库作备份、数据统计等工作,这样不影响主数据库的性能;
  主库:
  1、配置文件里面加入以下两行
  vi/etc/my.cnf中模块添加
  ```
  server-id=1
  log-bin=MySQL-bin
  

2、创建账户
  
 `grant replication client,replication slave on *.* to rep@'从库ip'>  3、备份主库
  `mysqldump --master-data=2 --single-transaction -R --triggers -A > all.sql`
  其中--master-data=2代表备份时刻记录master的Binlog位置和Position,--single-transaction意思是获取一致性快照,-R意思是备份存储过程和函数,--triggres的意思是备份触发器,-A代表备份所有的库。更多信息请自行mysqldump --help查看
  4、查看主库备份时的binlog名称和位置
  包括MASTER_LOG_FILE和MASTER_LOG_POS:
  

  # head -n 30 all.sql | grep 'CHANGE MASTER TO'
  -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000010', MASTER_LOG_POS=112;
  #
  

记住MASTER_LOG_FILE和MASTER_LOG_POS,下面要用  5、把备份复制到备库
  `    mysql < /data/all.sql`   //使用mysql导入主库数据
  

  
从库:
  
  1、配置文件加上以下几行
  

  
    ```
  server-id=2
  
    relay-log=relay-bin
  
    read-only =1
  
    replicate-ignore-db = mysql                      不复制的库
  
    replicate-ignore-db = test                         不复制的库
  
    replicate-ignore-db = information_schema不复制的库
  
    replicate-wild-do-table = 数据库名字.表名字 // 所要同步的数据库的单个表,可以加多行就是多个
  

  2、从库关联主库
  CHANGE MASTER TO MASTER_HOST='192.168.0.50',MASTER_USER='repl', MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000010',MASTER_LOG_POS=112;
  3、然后开启slave模式
  start slave
  4、查看配库状态
  

      # mysql -e 'show slave status\G' | egrep 'Slave_IO|Slave_SQL'  Slave_IO_State: Waiting for master to send event
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  #
  

  注意:主从数据库配置时注意主从mysql数据库的server-id必须不同。


页: [1]
查看完整版本: mysql 5.7.20如何配置主从