zoukankan      html  css  js  c++  java
  • mysql数据库配置主从同步

    MySQL主从同步的作用
    1、可以作为一种备份机制,相当于热备份
    2、可以用来做读写分离,均衡数据库负载
    MySQL主从同步的步骤
    一、准备操作
    1、主从数据库版本一致,建议版本5.5以上
    2、主从数据库数据一致
    二、主数据库master修改
    
    1、修改MySQL配置:
    
    [plain] view plain copy 在CODE上查看代码片派生到我的代码片
    # 日志文件名  
    log-bin = mysql-bin  
      
    # 主数据库端ID号  
    server-id = 1  
    2、重启mysql,创建用于同步的账户:
    [plain] view plain copy 在CODE上查看代码片派生到我的代码片
    # 创建slave帐号slave_account,密码123456  
    mysql>grant replication slave on *.* to 'slave_account'@'%' identified by '123456';  
      
    # 更新数据库权限  
    mysql>flush privileges;  
    3、查询master的状态
    
    [plain] view plain copy
    mysql> show master status;  
    +------------------+----------+--------------+------------------+  
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
    +------------------+----------+--------------+------------------+  
    | mysql-bin.000009 |      196 |              |                  |  
    +------------------+----------+--------------+------------------+  
    1 row in set  
     注:执行完这个步骤后不要再操作主数据库了,防止主数据库状态值变化
    三、从数据库slave修改
    1、修改MySQL配置:
    
    [plain] view plain copy 在CODE上查看代码片派生到我的代码片
    # 从数据库端ID号  
    server-id =2  
    2、执行同步命令
    [plain] view plain copy 在CODE上查看代码片派生到我的代码片
    # 执行同步命令,设置主数据库ip,同步帐号密码,同步位置  
    mysql>change master to master_host='192.168.1.2',master_user='slave_account',master_password='123456',master_log_file='mysql-bin.000009',master_log_pos=196;  
      
    # 开启同步功能  
    mysql>start slave;  
    3、检查从数据库状态:
    
    [plain] view plain copy
    mysql> show slave statusG;  
    *************************** 1. row ***************************  
                   Slave_IO_State: Waiting for master to send event  
                      Master_Host: 192.168.1.2  
                      Master_User: slave_account  
                      Master_Port: 3306  
                    Connect_Retry: 60  
                  Master_Log_File: mysql-bin.000009  
              Read_Master_Log_Pos: 196  
                   Relay_Log_File: vicky-relay-bin.000002  
                    Relay_Log_Pos: 253  
            Relay_Master_Log_File: mysql-bin.000009  
                 Slave_IO_Running: Yes  
                Slave_SQL_Running: Yes  
                  Replicate_Do_DB:  
              Replicate_Ignore_DB:  
              ...  
    注:Slave_IO_Running及Slave_SQL_Running进程必须正常运行,即YES状态,否则说明同步失败。
    到这里,主从数据库设置工作已经完成,自己可以新建数据库和表,插入和修改数据,测试一下是否成功
    其他可能用到的相关参数
    
    1、master端:
    [plain] view plain copy 在CODE上查看代码片派生到我的代码片
    # 不同步哪些数据库  
    binlog-ignore-db = mysql  
    binlog-ignore-db = test  
    binlog-ignore-db = information_schema  
      
    # 只同步哪些数据库,除此之外,其他不同步  
    binlog-do-db = game  
      
    # 日志保留时间  
    expire_logs_days = 10  
      
    # 控制binlog的写入频率。每执行多少次事务写入一次  
    # 这个参数性能消耗很大,但可减小MySQL崩溃造成的损失  
    sync_binlog = 5  
      
    # 日志格式,建议mixed  
    # statement 保存SQL语句  
    # row 保存影响记录数据  
    # mixed 前面两种的结合  
    binlog_format = mixed  
    2、slave端:
    
    [plain] view plain copy
    # 停止主从同步  
    mysql> stop slave;  
      
    # 连接断开时,重新连接超时时间  
    mysql> change master to master_connect_retry=50;  
      
    # 开启主从同步  
    mysql> start slave;  

    Error reading packet from server: Could not find first log file name in binary log index file ( server_errno=1236)

    同步失败解决方案

    1、重启主库
    2、给从库重新授权
    3、从库执行以下命令
    stop slave ; 
reset slave; 
start slave;

     参考链接:http://blog.csdn.net/mycwq/article/details/17136001

  • 相关阅读:
    1062 Talent and Virtue (25 分)
    1083 List Grades (25 分)
    1149 Dangerous Goods Packaging (25 分)
    1121 Damn Single (25 分)
    1120 Friend Numbers (20 分)
    1084 Broken Keyboard (20 分)
    1092 To Buy or Not to Buy (20 分)
    数组与链表
    二叉树
    时间复杂度与空间复杂度
  • 原文地址:https://www.cnblogs.com/liubei/p/5434914.html
Copyright © 2011-2022 走看看