zoukankan      html  css  js  c++  java
  • MySQL解决方案

        主从复制与主主复制怎么自动切换:使用Keepalived

        日常如何导出数据:mysqldump、xtrabackup

    1. 主库宕机解决方案(一主多从)

      登陆从库>show processlistG;

      #cat /data/3306/data/master.info

      #cat /data/3307/data/master.iinfo

      显示POS数值最大的将升级为主库

      或者利用半同步功能,直接选择做了实时同步的从库升为主库。

      授权同步用户和主库一样。

      1)确保所有relay log更新完毕

      每个从库执行:>stop slave io_thread;show processlist;

      直到看到Has reda all realy log; 表示从库更新都执行完毕

      2)登陆将要升为主的从库

      #mysql -uroot -p'000' -S /data/3306/mysql.sock

      >stop slave;

      >retset master;

      >quit;

      3)进入数据库目录,删除master.info relay_log.info

      #cd /data/3306/data

      #rm -f master.info relay-log.info

      检查授权表 read-only等参数

      4)提升为主库

      #vim /data/3306/my.cnf

      开启:log-bin = /data/3306/mysql-bin

      注:存在log-slave-updates read-only等一定要注释

      #/data/3306/mysql restart

      5)若主库没宕机,则需要去主库拉取binlog补全从库。

      6)其他从库操作

      >stop slave;

      >change master to master_host = '192.168.11.6' ;

      >start slave;

      >show slave statusG;

      7)修改程序配置文件从主库35指向32

      一般访问数据库用域名,则可直接修改hosts解析。

       

    2. 数据库读写慢原因

      1)在程序设计时没有索引

      2)I/O吞吐量小

      3)内存不足

      4)查询数据量过大

    3. 数据库同步延迟原因

      1)主从库间的网络延迟;

      优化:提升端口带宽;

      2)从库数量较多导致复制延迟;

      优化:建议从库数量3-5个为宜;

      3)主从两台机器负载不一致。由于主从复制是主数据库上启动一个I/O线程,从上启动一个I/O线程和一个SQL线程,当机器负载高时,可能导致其中的任何一个线程出现资源不足;

      优化:提升硬件性能;

      4)慢sql语句过多;

      优化:sql执行时间较长,需优化sql语句;

      5)主从复制设计问题;

      优化:主从复制单线程,可通过多线程IO方案解决;

      6)Max_allowed_packet设置不一致。主库设置其值大于从库,当较大的sql语句能在主库上执行,从库其值过小,无法执行;

      优化:数值设置保持一致;

      7)版本不一致;

      优化:版本保持一致;

  • 相关阅读:
    vue简单分屏(1,4,9,16),全屏,还需要调整
    vue 中的Vuex实践
    常用工具类
    java Log日志规范
    spring中对象的注入方式
    不恰当的update语句使用主键和索引导致mysql死锁
    JPA规范及其它持久层框架
    webservice基本功能介绍
    Activiti工作流(二)之常用操作
    Activiti工作流(一)之基本操作介绍
  • 原文地址:https://www.cnblogs.com/kazihuo/p/8274543.html
Copyright © 2011-2022 走看看