zoukankan      html  css  js  c++  java
  • MySQL 主从热备份(读写分离)

    原文:http://www.cnblogs.com/kissdodog/p/5422195.html

    MySQL的主从备份,听个名词很高大上,其实都是MySQL原本就实现的了,你只需要简单配置一下就可以实现。

    第一步:保持主从两个数据库是同步的,最好事先手动同步一下;

    第二步:停止两个数据库,分别更改配置文件;

      下面我使用如下两个地址来说明配置过程。

    • 主数据库:192.168.0.244
    • 从数据库:192.168.0.8

    主服务器数据库,增加如下配置:

    server-id = 244    #这个唯一就OK,一般取IP地址后面的几位
    log-bin = E:mysqldatamysql-bin  #日志所在目录
    binlog-do-db = test    #这个是要同步的数据库

    从服务器数据库,增加如下配置:

    server-id = 8    #这个唯一就OK,一般取IP地址后面的几位
    replicate-do-db = test  #这个是要同步的数据库

    第三步,分别重启两个服务器的MySQL服务;

    • net stop mysql;
    • net start mysql;

    两个服务器的MySQL服务都要启动起来;

    第四步,主服务器授权Slave权限账号

    GRANT REPLICATION SLAVE ON *.* to 'bu'@'%' identified by '123456';

    第五步,登录主服务器,查询master状态;

    show master status;

    注意结果,结果里面的东西,在下一步会用到。

    第六步:登录从服务器,配置从服务器的Slave

    change master to master_host='192.168.0.244',master_user='bu',master_password='123456',
    master_log_file='mysql-bin.000004',master_log_pos=516;

    master_log_pos是上面查询出来的Position 516。

    第七步、启动从服务器的Slave

    start slave;

    第八步、验证从服务器的Slave服务状态

    show slave statusG

    以下两个状态必须为Yes。

    Slave_IO_Running: Yes    //此状态必须YES
    Slave_SQL_Running: Yes     //此状态必须YES

    如果有一项为No都不会同步成功。

    我碰到过Slave_IO_Running为Connecting的。那可能是上面的连接change master to master_host...写错了。

    第九步、随意修改下主数据库的数据,从服务器数据库立即会更新

  • 相关阅读:
    node的二进制权限比对设计
    如何获取和杀死node中子进程的pid,以及系统上的小坑
    node express框架下接收、发送和解析iso-8869-1编码
    node.js 小端十六进制的十进制互转以及十六进制大小端转换
    node加密rsa公钥和python解密私钥的问题
    html-pdf在centos上安装报错
    node.js 的knex 连接数据库表情编码问题
    node.js怎么调用lua脚本操作redis
    mongodb查询非空数组
    位运算
  • 原文地址:https://www.cnblogs.com/zhaiyf/p/8668424.html
Copyright © 2011-2022 走看看