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

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

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

    登陆从库>show processlist\G;

    #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 status\G;

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

    优化:版本保持一致;

MySQL解决方案的更多相关文章

  1. 常见的高可用MySQL解决方案

    MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的.有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或 ...

  2. Ubuntu Server 14.04 --secure-file-priv error in MySql 解决方案

    在VPS部署Ubuntu 14.04服务器时,MySQL执行导出文件命令,报错: The MySQL server is running with the --secure-file-priv opt ...

  3. 远程无法访问linux Mysql解决方案

    在网上有很多关于这个的解决方案,我也采用了 写的比较详细的如: 1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更 ...

  4. linux环境下,使用Navicat连接mysql时,提示本地IP无法连接虚拟环境下的mysql解决方案

    在Linux环境下,使用Navicat连接mysql时,提示本地IP无法连接虚拟环境下的mysql,提示如下: 而导致连接错误的原因是MYSQL没有开启远程登录权限. 解决方案: 在mysql命令中执 ...

  5. Navicat远程连接不上mysql解决方案

    一.can‘t connect to MySql server on ‘47.93.X.X’ 这是因为mysql端口被防火墙拦截,需用linux执行如下指令: 1.#/sbin/iptables -I ...

  6. Navicat远程连接不上mysql解决方案(已测试过)

    内容参考网上的文章,此处只做记录. 一.can‘t connect to MySql server on ‘192.168.X.X’ 这是因为mysql端口被防火墙拦截,需用linux执行如下指令:( ...

  7. PHP连接不上MySQL解决方案总结

    1. 获取当前 mysql.default_socket.mysqli.default_socket.pdo_mysql.default_socket 配置信息 建立一个 PHP 文件, 显示 php ...

  8. host is not allowed to connect to this mysql解决方案

    报错:1130-host ... is not allowed to connect to this MySql server   解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在l ...

  9. SQLServer To MySQL 解决方案

        最近在忙一个项目,就不详写了.过两天不忙了把项目总结一下.   思路: Access作为桥梁   1.SQLServer To Access 2007 在access里直接导入 2.Use t ...

随机推荐

  1. 在SpringBoot中添加Logback日志处理

    前言 SpringBoot项目中在官方文档中说明,默认已经依赖了一些日志框架.而其中推荐使用的就是Logback,所以这一次我将在我的模版中加入Logback日志的配置,说明一下,SpringBoot ...

  2. 【spring-boot】spring aop 面向切面编程初接触

    众所周知,spring最核心的两个功能是aop和ioc,即面向切面,控制反转.这里我们探讨一下如何使用spring aop. 1.何为aop aop全称Aspect Oriented Programm ...

  3. 2015最新Android学习线路图

    Android是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导.据2011年初数据显示仅正式上市两年的操作系统Android已经跃居全球最受欢迎的 ...

  4. 3.2 PCI设备的数据传递

    PCI设备的数据传递使用地址译码方式,当一个存储器读写总线事务到达PCI总线时,在这条总线上的所有PCI设备将进行地址译码,如果当前总线事务使用的地址在某个PCI设备的BAR空间中时,该PCI设备将使 ...

  5. Alibaba阿里巴巴开源软件列表

    整理和分享我大阿里的开源项目的相关网址: Git Hub上的开源软件网址: 1.https://github.com/alibaba 阿里巴巴开源技术汇总:115个软件 2.https://yq.al ...

  6. Android View绘制回调方法流程

    Android中View的性命周期,挪用 invalidate() 战 requestLayout() 会触收哪些方式,一张图就可以讲解的很详细. 该图确切一看便特别很是清楚.让人简略的懂得View的 ...

  7. MTBF

    MTBF,即平均故障间隔时间,英文全称是"Mean Time Between Failure".是衡量一个产品(尤其是电器产品)的可靠性指标.单位为"小时".它 ...

  8. Error Code: 1414. OUT or INOUT argument 2 for routine company.new_procedure is not a variable or NEW

    1.错误描述 16:27:36 call new_procedure(20150112,1) Error Code: 1414. OUT or INOUT argument 2 for routine ...

  9. Attribute name "aphmodel" associated with an element type "mxg" must be followed by the ' = ' charac

    1.错误描述 org.apache.batik.transcoder.TranscoderException: null Enclosed Exception: Attribute name &quo ...

  10. form表单中的input有哪些类型

    form表单中的input有哪些类型 1.button <input type="button"/> 2.checkbox <input type="c ...