zoukankan      html  css  js  c++  java
  • mysql 主从复制配置

    环境:已经在centos下安装好mysql,安装参考:http://www.cnblogs.com/bookwed/p/5896619.html,安装好主数据库后,可以克隆一份,注意修改ip等。

      192.168.137.10 主

      192.168.137.11 从

    1、修改master配置,vi /etc/my.cnf,重启服务

    log_bin=mysql-bin    #启用二进制日志
    server_id =10          #服务器唯一ID,随便写,不要重复   
    lower_case_table_names = 1 #不区分大小写

    2、修改slave配置,vi /etc/my.cnf,重启服务

    log_bin=mysql-bin  
    server_id =11
    lower_case_table_names = 1
    

    3、创建用户并授权,在master上执行

       useradd cat

       grant replication slave on *.* to 'cat'@'%' identified by '123456';   

       flush privileges;

    4、master上设置读锁定

      flush tables with read lock;

    5、查看master上的bin-log日志和偏移量

      show master status

    6、用dump备份master

      mysqldump -uroot -proot test > test.sql

      unlock tables;  #备份完后,master恢复写操作

    7、把备份恢复到slave数据库上

      mysql -uroot -proot test < test.sql

    8、slave执行手动同步

      mysql>change master to
        master_host='192.168.137.10',
        master_user='cat',
        master_password='123456',
        master_port=3306,
        master_log_file='mysql-bin.000002',  #参考第5步的值
        master_log_pos=716  #参考第5步的值

      mysql>start slave;  #启动从服务器复制功能

    9、检查状态

       

       标红的部分必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)

        另外一个命令:show processlist

    10、主从测试

      在master上,创建一个库、建立一个表,插入几条数据,看是否slave上已同步过来。

    说明:

      1、有几步可以忽略,4、6、7这几步是在模拟生产环境下的数据库处理,主要是为了了解一下在master上已有数据的情况做主从复制的整个流程,如果是自己测试,这几步可以忽略,因为主库本来就是自己在操作,所以不可能有别的人对数据库做更新操作,也就不用再备份恢复了。

      2、修改从属配置,即第8步,先stop slave,再执行一遍第8步。

  • 相关阅读:
    golang以服务方式运行
    nginx重写规则配置
    PHP的 parse_ini_file 解析配置文件
    在Yii2中集成Markdown编辑器
    理解 is_callable
    Composer安装yii2-imagine 压缩,剪切,旋转,水印
    Yii2 基于header 实现接口版本控制
    (1) laravel php artisan list make
    php 阿里云国内短信实例
    php 云片国外短信实例
  • 原文地址:https://www.cnblogs.com/bookwed/p/5909296.html
Copyright © 2011-2022 走看看