zoukankan      html  css  js  c++  java
  • Mysql主从热备

    要进行主从热备首先给从机建立一个所有权限的账户:GRANT ALL PRIVILEGES ON *.* TO weipan_bak@'10.100.100.14' IDENTIFIED BY 'Qybak123';

    在主库的配置文件my.ini增加如下配置:

    server-id=200
    log-bin=mysql-bin
    relay-log=relay-bin
    relay-log-index=relay-bin-index
    log_bin_trust_function_creators=TRUE
    expire-logs-days=1
    max_binlog_size=600M

    注意:server-id每台机器不要重复,expire-logs-days日志清理周期,max_binlog_size日志文件最大大小。

    然后锁库:FLUSH TABLES WITH READ LOCK;

    备份主库的所有数据下来,然后查看当前的日志位置SHOW MASTER STATUS;记录下日志的文件和位置;

    然后解锁:UNLOCK TABLES;

    主库的配置就完成了


    从机上面的配置文件修改就简单多了:

    server-id=210
    replicate-do-db=weipandb
    log_slave_updates=1
    

    修改完重启mysql,把前面备份的数据库还原到从机上面,然后执行以下命令启动热备:

    stop slave;
    CHANGE MASTER TO MASTER_HOST='10.100.100.11',MASTER_USER='weipan_bak',MASTER_PORT = 33066,MASTER_PASSWORD='Qybak123',master_log_file='mysql-bin.000002',master_log_pos=106;
    SET GLOBAL sql_slave_skip_counter =1;
    start slave;
    show slave status;
    
    master_log_file和master_log_pos就是之前记录下来的。

    配置完成后可以用show slave status;命令查看是否主从连接成功

    查看这两项是否为YES,yes为正常。
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes


    常用命令:
    //设置心跳时间   心跳即同步的频率  单位秒
    stop slave;
    change master to master_heartbeat_period = 10;
    start slave;
    
    
    //网络延迟多久开始重连
    set global slave_net_timeout = 25; 
    
    //重连次数
    CHANGE MASTER TO MASTER_RETRY_COUNT = 0;  //0代表不限次数
    
    --------------------------------
    //显示编码
    show variables where Variable_name like 'collation%';
    

      

  • 相关阅读:
    关于BlockingQueue
    关于java的线程
    mongodb的锁和高并发
    innodb的锁和高并发
    mysql的事务隔离级别及其使用场景
    mongodb分页
    ReentrantLock和Synchronized
    spring boot MVC
    svn 入门
    多线程的返回值等问题
  • 原文地址:https://www.cnblogs.com/CarlBlogs/p/7405342.html
Copyright © 2011-2022 走看看