zoukankan      html  css  js  c++  java
  • mysql 主备搭建

    为什么要复制数据库?

     

    简单来说有以下几个用处:

    1. 读写分离

    通过MySQL复制可以实现读写分离,将读操作分布到多个不同的服务器上,减轻服务器的压力。

    2. 备份

    从库可以作为数据的异地实时备份。

    3. 故障切换

    当主库遇到故障,系统可以切换到从库,实现故障切换。

    4. 升级测试

    从库可作为测试服务器的数据库。

    复制数据的步骤:

    1. 在主库上把数据更改记录到二进制日志(Binary Log)中。
    2. 备库将主库上的日志复制到自己的中继日志(Relay Log)中。
    3. 备库读取中继日志中的事件,将其在备库上重新执行一遍。

     具体操作步骤如下:

    1. 主备两台服务器安装相同版本的数据库,数据库的初始数据保持一致。
    2. (主库)配置同步账号
      1.    创建数据库复制用户:mysql>CREATE USER 'repl'@'172.16.127.83' IDENTIFIED BY '123456';
      2.    授权:mysql>grant replication slave on *.* to 'repl'@'172.16.127.83' ;

      3.(主库)修改/etc/my.cnf文件,注意确保:server-id 唯一

      1.  server-id=1
      2.  log-bin=mysql-bin
      3.  lower_case_table_names=1(数据表不区分大小写)

      4.(主库)重启master端

          1.   service mysqld restart

      5.(主库)查询主库上当前的二进制日志名和偏移量值,记录下file跟position的值,待会从库要用

          1.   mysql>show master status G

      6.(从库)修改/etc/my.cnf文件,注意确保:server-id 唯一

      1.  server-id=2
      2.  lower_case_table_names=1(数据表不区分大小写)

      7.(从库)重启slave端

          1.  service mysqld restart

      8.(从库)对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置等
          1.  mysql>CHANGE MASTER TO MASTER_HOST='172.16.127.49',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000013',MASTER_LOG_POS=156;

      9. (从库)启动slave线程

          1.  mysql>start slave;

      10.  主库跟从库分别检查状态  

        1. 检查master的:mysql>show processlistG      结果:看到上面的Command: Binlog Dump说明配置成功!

        2.检查slave的:mysql>show slave status G       结果:提示:Slave_IO_Running和Slave_SQL_Running两个值为YES基本上成功了

  • 相关阅读:
    [转载]项目风险管理七种武器之引言
    [转载]基于TFS实践敏捷-Scrum模式运用
    [转载]基于TFS实践敏捷-工作项跟踪
    [转载]TFS入门指南
    SVN — subclipse操作指引
    Java 中 方法名或类名 变更 同时 更新 所有引用的 类名或方法名 的解决方案
    Java import javax.servlet 出错
    java 中 SVN 设置所有文件及子目录 needs-lock, svn 提交时自动设置 needs-lock, 及版本不一致问题
    vmware 传输(vmdb)错误-32:pipe:read failed 解决方法
    Web.xml配置详解
  • 原文地址:https://www.cnblogs.com/itliyh/p/13803693.html
Copyright © 2011-2022 走看看