zoukankan      html  css  js  c++  java
  • mysql 主从配置

    注意事项

    1.mysql主从配置会产生大量日志(在网上看到的).有些人主从运营了半年日志占磁盘40多G,因为mysql默认的配置expire_logs_days为0,也就是日志过期时间为0,设置一下比较好.

    2.主数据库:binlog-do-db为需要备份的数据库名,多个写多行,binlog-ignore-db为不需要备份的数据库名,多个写多行.

     从数据库:replicate-do-db为复制某个库的名字,replicate-ignore-db为不复制某个库的名字.

     看了看网上的评论都建议在master端不指定binlog-do-db,在slave端用replication-do-db来过滤。

    3.主数据库配置:

    server-id = 195 #主机标示,整数
    log_bin = mysql-bin #确保此文件可写
    read-only=0 #主机,读写都可以

    从数据库配置:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。

    server-id = 192
    log_bin = mysql-bin
    master-host =123.123.123.123//主数据库host  已作废

    master-user =****//给从数据库使用的用户  已作废
    master-pass =****  //给从数据库使用的密码  已作废
    master-port =3306    //端口  已作废
    master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
    replicate-do-db =test #只复制某个库
    replicate-ignore-db=mysql #不复制某个库

    replicate-ignore-table=vbb.users #不复制某张库的表

    replicate-do-table #赋值某张库的表

    在生产环境碰见你一个问题,接口服务器不能用过程序写入数据库,上谷歌一查   发现是BINLOG_FORMAT设置问题,默认值为statement,建议配置成mixed.

    CHANGE MASTER TO master_host = '{$master_database['host']}',
    master_user = 'XXX',
    master_password = 'XXX',
    master_log_file = '{$data['File']}',//$data['File']和$data['Position']是在主数据库运行show master status获得.
    master_log_pos = {$data['Position']},//注意文件名和position和主服务器上对应。
    master_connect_retry = 30 

    启动从数据库 slave start //顾名思义,slave stop是停止主从

    从数据库运行show slave status ,如果Slave_IO_Running(表示是否能接受主数据库传递的日志进程)和Slave_SQL_Running(运行mysql语句的进程)都为yes,则表示主从配置成功. 

    注:从数据库不要有写操作,要不然主从同步时候必然会出错,所有的操作从主数据库操作.

  • 相关阅读:
    【HTML】WebStorage
    【vue.js】vue项目使用Iconfont(阿里图标库)
    【CSS】水平居中和垂直居中
    【设计模式】责任链模式
    【设计模式】观察者模式
    【设计模式】策略模式
    【排序算法】(9)堆排序
    【排序算法】(5)基数排序
    【排序算法】(6)选择排序
    简单权限设计表
  • 原文地址:https://www.cnblogs.com/tudou1223/p/4906798.html
Copyright © 2011-2022 走看看