主从复制与主主复制怎么自动切换:使用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. Zookeeper笔记1-CAP/BASE理论

    分布式系统八大谬论: 1.网络相当可靠 2.延迟为0 3.传输带宽是无限的 4.网络相当安全. 5.拓扑结构不会改变 6.必须要有一名管理员 7.传输成本为0 8.网络同质化. 分布式最常出现的问题: ...

  2. Hive分区和桶

    SMB 存在的目的主要是为了解决大表与大表间的 Join 问题,分桶其实就是把大表化成了“小表”,然后 Map-Side Join 解决之,这是典型的分而治之的思想.在聊 SMB Join 之前,我们 ...

  3. Hama安装及示例运行

    Hama介绍 Apache Hama是一个纯BSP(Bulk Synchronous Parallel)计算框架,模仿了Google的Pregel.用来处理大规模的科学计算,特别是矩阵和图计算. BS ...

  4. linux dns搭建

    DNS:域名解析(Domain Nmae System)正向解析:根据主机名称(域名)查找其对应的ip地址,这是最基本,最常用的功能反向解析:根据ip地址查找其对应的主机名称(域名),反垃圾邮件/安全 ...

  5. raw文件系统

    简介 RAW文件系统是一个没有被NT文件系统(FAT或NTFS)格式化的磁盘分区(win8默认用的是RAW文件系统). 2定义 分区显示RAW文件系统的直接原因,是由于文件系统不被操作系统识别.此时在 ...

  6. BIOS中的UEFI和Legacy启动模式

    BIOS即Basic Input/Output System,翻成中文是"基本输入/输出系统",是一种所谓的"固件",负责在开机时做硬件启动和检测等工作,并且担 ...

  7. FusionCharts 2D柱状图和折线图的组合图

    1.设计思路 (1)了解组合图的特性以及用法,选用图的类型: (2)设计出两根柱子和两根折线,分开展示. 2.设计步骤 (1)设计页面 Column2DLine.html: <!DOCTYPE ...

  8. touch.js下载使用方式

    touch.js下载地址 https://gitee.com/mirrors/touch-js Touch 在开发移动端的应用中会使用到很多的手势操作,例如一指拖动.两指旋转等等,为了方便开放者快速集 ...

  9. 利用GDI+在Winfrom绘制验证码

    string yzm: private void yangzhengma() { Bitmap bt = new Bitmap(70,22);//创建位图对象 Graphics gs = Graphi ...

  10. freemarker写select组件(二十二)

    一,讲解一 1.宏定义 <#macro select id datas> <select id="${id}" name="${id}"> ...