zoukankan      html  css  js  c++  java
  • [mysql]linux mysql 主从复制

    [mysql]linux mysql 主从复制

    作者:flymaster

    qq:908601287

    blog:http://www.cnblogs.com/flymaster500/

    MySQL主从复制技术的简单实现
    配置环境:
    主从服务器操作系统均为 ubuntu15.10
    主从服务器MySQL版本均为 MySQL5.6.31
    主服务器IP:192.168.0.178
    从服务器IP:192.168.0.145
    主从服务器之间都是相互能ping通的。
    主服务器配置:
    1、启用二进制日志,设置服务器唯一ID;

    2、修改 /etc/mysql/my.cnf  “bind-address = 0.0.0.0;” 使得MySQL允许远程连接;
    3、进入终端,为用户backend赋予 REPLICATION SLAVE 权限,然后执行 “FLUSH PRIVILEGES;” 刷新权限;(我这里已经有该用户,没有的应该先创建一个用户并赋予 REPLICATION SLAVE 权限)该用户用于从服务器连接主服务器数据库。

    4、重启MySQL并进入MySQL终端,执行 “show master status;” 查看mater的状态;

    5、记录File 和 Position的值,因为配置从服务器时要用到。此时不要再动主数据库了,以免影响了Position的值。
    从服务器配置:
     1、像主服务一样配置启用二进制日志,设置服务器唯一ID;(主服务器的server-id=1,从服务器这里的server-id=2)

    2、重启MySQL并进入MySQL终端;
    3、执行以下语句并启动 slave 从库:

    说明:这里的master_host是设置主服务器的IP,master_user是设置连接主服务器数据库的用户,master_password是该用户的密码,master_log_file和master_log_pos设置主服务器时记录下的文件和值;
    4、执行 "show slave status;G" 查看slave从库状态:

    此时若Slave_IO_Running和Slave_SQL_Running都为Yes,那么说明主从配置成功了。
    5、到 主数据库创建一个数据库 "create database test_master_slave;"
    6、到从服务器执行 “show databases;” 发现也同时创建了数据库 test_master_slave;
     
    注意:主从服务器和数据库版本可以不一样,但主从服务器中当前的数据库最好一致,不然后面可能会因数据库不一致而导致出现一些错误。如果出现错误,比如在主服务器删除了一个数据库,而从服务器上并没有这个数据库,那么从服务器的复制就会出错,此时应该先执行"stop slave"停止从库,然后执行“SET  GLOBAL  SQL_SLAVE_SKIP_COUNTER = 1;” 跳过一个事务,从而跳过那个错误。再执行“start slave”开启从库。从库便正常复制主库的操作。(SET  GLOBAL  SQL_SLAVE_SKIP_COUNTER = n;表示跳过n个让从库复制出错的事务)

    作者:flymaster

    qq:908601287

    blog:http://www.cnblogs.com/flymaster500/

  • 相关阅读:
    Oracle分页问题
    win10系统vs2008环境wince项目无法创建问题
    工作满十年了
    让Vs2013 完美支持EF6.1 Code First with Oracle 2015年12月24日更新
    Oracle DMP 操作笔记之根据DMP逆向推导出导出的表空间名称
    【转】如何在 Eclipse 中進行 TFS 的版本管控
    【转】什麼是 Team Explorer Everywhere 2010 ?TFS 專用的 Eclipse 整合套件的安裝與設定
    [转]有关USES_CONVERSION
    [转]使用VC/MFC创建一个线程池
    IT男的”幸福”生活
  • 原文地址:https://www.cnblogs.com/flymaster500/p/10155679.html
Copyright © 2011-2022 走看看