zoukankan      html  css  js  c++  java
  • Mysql数据库主从配置

    一、为什么要使用数据库主从架构

      一个网站损耗资源最厉害的就是数据库,最易崩溃的也是数据库,而数据库崩溃带来的后果是非常严重的。数据库分为读和写操作,在实际的应用中,读操作的损耗远比写操作多太多,因此读操作是引起数据库崩溃的主因,所以我们把数据分为主从库,主库负责写操作,从库负责读操作。

    二、数据库主从配置-主机

    1.  复制数据表至从库,保证两个数据库之间的数据表完全一致。
    2. 编辑配置文件my.cnf
    3. #在mysld下面加入如下行
      server-id=106 #一般根据IP最后一位
      log-bin=mysql-bin #主机必须打开,从库就是根据bin的二进制文件来读取主库操作记录
      binlog-do-db=test #需要备份的数据库名,如果需要备份多个数据库,重复设置这个选项即可
      binlog-ignore-db=mysql #不需要备份的数据库名,如果需要备份多个数据库,重复设置这个选项即可
      log-slave-updates #这个参数一定要加上,否则不会给更新的记录到二进制文件里
      slave-skip-errors #是跳过错误,继续执行复制操作
    4. 重启数据库 service mysqld restart
    5. 显示主库信息 show master status

      

      6.建立用户

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

        可在从机上做连接测试 mysql -h 主库IP -u root -p

      7.锁主库表(可省略,主要防止在写从库配置时,主表被改动)

        flush tables with read lock;

    三、数据库主从配置-从机

      1.编辑配置文件my.cnf

      

    #在mysld下面加入如下行
    server-id=103 #一般根据IP最后一位
    log-bin=mysql-bin 
    master-host=192.168.1.106 #主机IP
    master-user=slave   #连接用户
    master-password=123456  #密码
    master-port=3306 #端口
    replicate-do-db=test #需要备份的数据库
    replicate-ignore-db=mysql #忽略的数据库
    master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差
    log-slave-updates #这个参数一定要加上,否则不会给更新的记录到二进制文件里
    slave-skip-errors #是跳过错误,继续执行复制操作

      2.重启数据库service mysqld restart

      3.查看slave状态 show slave status  (注:slave_IO_Running 以及 slave_SQL_Running 两列的值都是Yes,表明slave的IO以及sq线程都在运行)

      4.解锁主库表(若之前没有锁主库表,可忽略,在主机完成)

        unlock tables

      至此,主从库搭建完成,可在主库插入数据进行测试

      常见错误:

      如果发现slave_IO_Running以及slave_SQL_Running的值为No,在从机上执行如下操作

      

    slave stop    #关闭从库
    reset slave   #重设从库
    change master to master_host='主机IP',master_user='slave',master_password='123123',master_port='3306',master_log_file='mysql-bin.000012',master_log_pos='327';
    slave start;
    show slave status;

    ps:在主服务器中,主要是以写数据为主,建议使用InnoDB数据引擎 ,在从服务器中,建议使用MyISAM数据引擎。

  • 相关阅读:
    lombok 简化 Java 代码
    java集合之ArrayList
    java集合概述
    NOIP 2017 逛公园
    NOIP 2017 时间复杂度
    NOIP 2017 奶酪
    NOIP 2013 货车运输
    NOIP 2012 疫情控制
    NOIP 2015 运输计划
    NOIP2014 联合权值
  • 原文地址:https://www.cnblogs.com/freelyflying/p/6714412.html
Copyright © 2011-2022 走看看