MySQL解决方案
主从复制与主主复制怎么自动切换:使用Keepalived
日常如何导出数据:mysqldump、xtrabackup
主库宕机解决方案(一主多从)
登陆从库>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解析。
数据库读写慢原因
1)在程序设计时没有索引
2)I/O吞吐量小
3)内存不足
4)查询数据量过大
数据库同步延迟原因
1)主从库间的网络延迟;
优化:提升端口带宽;
2)从库数量较多导致复制延迟;
优化:建议从库数量3-5个为宜;
3)主从两台机器负载不一致。由于主从复制是主数据库上启动一个I/O线程,从上启动一个I/O线程和一个SQL线程,当机器负载高时,可能导致其中的任何一个线程出现资源不足;
优化:提升硬件性能;
4)慢sql语句过多;
优化:sql执行时间较长,需优化sql语句;
5)主从复制设计问题;
优化:主从复制单线程,可通过多线程IO方案解决;
6)Max_allowed_packet设置不一致。主库设置其值大于从库,当较大的sql语句能在主库上执行,从库其值过小,无法执行;
优化:数值设置保持一致;
7)版本不一致;
优化:版本保持一致;
MySQL解决方案的更多相关文章
- 常见的高可用MySQL解决方案
MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的.有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或 ...
- 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 ...
- 远程无法访问linux Mysql解决方案
在网上有很多关于这个的解决方案,我也采用了 写的比较详细的如: 1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更 ...
- linux环境下,使用Navicat连接mysql时,提示本地IP无法连接虚拟环境下的mysql解决方案
在Linux环境下,使用Navicat连接mysql时,提示本地IP无法连接虚拟环境下的mysql,提示如下: 而导致连接错误的原因是MYSQL没有开启远程登录权限. 解决方案: 在mysql命令中执 ...
- Navicat远程连接不上mysql解决方案
一.can‘t connect to MySql server on ‘47.93.X.X’ 这是因为mysql端口被防火墙拦截,需用linux执行如下指令: 1.#/sbin/iptables -I ...
- Navicat远程连接不上mysql解决方案(已测试过)
内容参考网上的文章,此处只做记录. 一.can‘t connect to MySql server on ‘192.168.X.X’ 这是因为mysql端口被防火墙拦截,需用linux执行如下指令:( ...
- PHP连接不上MySQL解决方案总结
1. 获取当前 mysql.default_socket.mysqli.default_socket.pdo_mysql.default_socket 配置信息 建立一个 PHP 文件, 显示 php ...
- host is not allowed to connect to this mysql解决方案
报错:1130-host ... is not allowed to connect to this MySql server 解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在l ...
- SQLServer To MySQL 解决方案
最近在忙一个项目,就不详写了.过两天不忙了把项目总结一下. 思路: Access作为桥梁 1.SQLServer To Access 2007 在access里直接导入 2.Use t ...
随机推荐
- uva437 DAG
直接套用DAG的思路就行. AC代码: #include<cstdio> #include<cstring> #include<algorithm> using n ...
- POJ - 3279 枚举 [kuangbin带你飞]专题一
这题很经典啊,以前也遇到过类似的题--计蒜客 硬币翻转. 不过这题不仅要求翻转次数最少,且翻转方案的字典序也要最小. 解法:二进制枚举第一行的翻转方案,然后处理第二行,如果第二行的k列的上一列是黑色, ...
- byte[] Base64 Stream 之间相互转换
图片 base64转byte[] /// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name= ...
- 【前端】Vue和Vux开发WebApp日志四、增加命令行参数
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_4.html 项目github地址:https://github.com/shamoyuu/vue- ...
- 深度学习篇——Tensorflow-GPU配置
tensoflow-gpu安装 对于python 3.5和3.6的童鞋们而言,安装tensorflow其实并不难,因为我们可以通过pip直接安装. 不过,第一要求你安装的python是64位的,如下图 ...
- 如何将ubuntu控制台输出到串口?
如何将ubuntu控制台输出到串口? Linux使用ubuntu14.04发行版本 操作步骤: 1.修改/etc/default/grub ## Modify this line by leekwen ...
- 通过grub-install命令把grub安装到u盘-总结
通过grub-install命令把grub安装到u盘 ①准备一个u盘,容量不限,能有1MB都足够了. ②把u盘格式化(我把u盘格式化成FAT.fat32格式了,最后证明也是成功的).③开启linux系 ...
- 常用YUV转RGB代码
常用YUV转RGB [java] view plaincopyprint? public class YuvToRGB { private static int R = 0; private stat ...
- 下载jQuery EasyUI出现网络问题
下载jQuery EasyUI出现网络问题 1.具体错误如下 错误 137 (net::ERR_NAME_RESOLUTION_FAILED):未知错误 2.错误原因 由于DNS配置出现问题,导致该网 ...
- freemarker自定义标签报错(四)
freemarker自定义标签 1.错误描述 六月 05, 2014 11:31:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...