主从复制与主主复制怎么自动切换:使用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. JDBC各种数据库连接方式

    1)连接Oracle 8/8i/9i/10g/11g(thin模式) Class.forName("oracle.JDBC.driver.OracleDriver").newIns ...

  2. WPF将RGB转为HSL的工具类

    class HSLColor     {         private int _alpha = 255;         public int _hue = 0;         public d ...

  3. java I/O框架 (一)总览

    一.前言 java io框架非常庞大,各种功能的类让人目不暇接,为了系统学习io框架,搜集了各种资料,整理出这篇文章,尽可能详细的讲述java io框架,其中会牵扯到许多信息,不仅包括框架内各种类的方 ...

  4. R-CNN算法概要

    参考论文:Rich feature hierarchies for accurate object detection and semantic segmentation 下载地址:https://a ...

  5. Android设备唯一码的获取

    Android设备唯一码的获取 UTDID是集团无线设备统一ID方案,目的是给每一台设备一个ID,作为唯一标识.UTDID由客户端生成,并在设备中各个客户端之间共享.UTDID的生成中包含时间戳和随机 ...

  6. Windows平台的PHP之开启COM配置

    Windows平台的PHP如果未配置COM,调用COM组件,错误如下 Fatal error: Class 'COM' not found in XXXXXXXXX php 根目录的 ext 文件夹下 ...

  7. table行随鼠标变色

    table行随鼠标变色 1.设计表格 <body class="html_body"> <div class="body_div"> & ...

  8. Netty高可靠性设计:优化建议

    尽管Netty的可靠性已经做得非常出色,但是在生产实践中还是发现了一些待优化点,本小节将进行简单说明.希望后续的版本中可以解决,当然用户也可以根据自己的实际需要决定自行优化. 1  发送队列容量上限控 ...

  9. (十四)java中super和this

    super代表的是父类.超类,用在继承中的子类中:this代表对象本身,用在本类中.     super访问的是被子类隐藏的父类的属性或被覆盖的方法,而this访问的是同一类中的成员.     sup ...

  10. ontimer 与多线程

    一般来说,在MFC中开启一个UI线程可以用以下代码: m_pCameraThread = AfxBeginThread(RUNTIME_CLASS(CCameraThread)); if (!m_pC ...