• 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)版本不一致;

      优化:版本保持一致;

  • 相关阅读:
    Android sqlite日期存储
    Ubuntu10.04中间Leach协议一键安装
    Chapter 1 Securing Your Server and Network(1):选择SQL Server业务经理
    lua迭代器和仿制药for
    设定值范围+区间覆盖
    新手可以学习cocos2dx 3.0 组态(两)
    王立平--string.Empty
    Javascript操作阵列
    Dojo仪表板
    时间复杂度
  • 原文地址:https://www.cnblogs.com/kazihuo/p/8274543.html
Copyright © 2020-2023  润新知