返回顶部
首页 > 资讯 > 数据库 >现在业内常用的MySQL高可用方案有哪些?
  • 921
分享到

现在业内常用的MySQL高可用方案有哪些?

现在业内常用的MySQL高可用方案有哪些? 2017-04-30 20:04:39 921人浏览 绘本
摘要

目录 如何将excel数据导入MySQL表中? 用xtrabackup跑mysql物理备份,建议授予哪些权限? select里用rand(),怎么优化效率? 现在业内常用的MySQL高可用方案有哪些? 什

目录

  • 如何将excel数据导入MySQL表中?
  • 用xtrabackup跑mysql物理备份,建议授予哪些权限?
  • select里用rand(),怎么优化效率?
  • 现在业内常用的MySQL高可用方案有哪些?
  • 什么时候MySQL的索引"失效"不可用?
  • MySQL从库show processlist出现system lock的原因以及解决方法有哪些?

一、如何将excel数据导入MySQL表中?
excel导入Mysql表的方式有很多,这里列举几种平时常用的方法:

将excel另存为csv文件,再使用LOAD DATA导入表,命令参考如下:
LOAD DATA INFILE "c:/tmp/discounts.csv"

INTO TABLE discounts

FIELDS TERMINATED BY ","

ENCLOSED BY """

LINES TERMINATED BY "n"

IGNORE 1 ROWS;

利用Navicat、mysql Workbench等第三方工具进行导入

excel利用函数拼接成insert sql进行数据插入(数据量大时不推荐,效率极低)

例行批量导入,安利python的xlwt模块

注意:进行数据导入时注意先执行set names设置字符集,以免造成乱码

 

二、用xtrabackup跑mysql物理备份,建议授予哪些权限?

可能需要用到以下权限:

RELOAD and LOCK TABLES (用于FLUSH TABLES WITH READ LOCK 和 FLUSH ENGINE LOGS)

BACKUP_ADMIN (用于查询表perfORMance_schema.log_status, 执行LOCK INSTANCE FOR BACKUP, LOCK BINLOG FOR BACKUP, 或 LOCK TABLES FOR BACKUP)

REPLICATioN CLIENT(获取一致性位点)

PROCESS(用于执行SHOW ENGINE INNODB STATUS或者查看线程状态等)

SUPER(复制环境下用于start/stop the slave threads)

SELECT(使用选项--incremental-history-name or --incremental-history-uuid时获取innodb_to_lsn插入到PERCONA_SCHEMA.xtrabackup_history表)

 

三、select里用rand(),怎么优化效率?

案例:

select id from t1 where id = round(rand()*13241324);

其中id列是IINT类型的主键

(一)问题点

该SQL的问题点主要在于当使用rand()匹配时,实际上是逐行提取数据,rand()每次生成一个随机数进行单行匹配,即如果t1表有100万数据就会匹配100万次,即便有索引也没用,也要全表扫描

(二)优化方式

优化方式主要有2种思路,第一种是通过子查询关联,第二种是通过范围查询加limit 1,如下所示:

select id from t1 join (select round(rand()*13241324) as id2) as t2 where t1.id = t2.id2

select id from t1 where id > (select round(rand()*(select max(id) from t1)) as nid) limit 1

再次提醒,不要用rand()直接进行匹配或者排序,会引发性能灾难

参考:

Http://imysql.com/2014/07/04/...

 

四、现在业内常用的MySQL高可用方案有哪些?

目前来说,比较多的开源方案分内置高可用与外部实现,内置高可用有如下:
1、官方版本分支:MGR(首推)

percona分支:PXC

MariaDB:Galera Cluster

外部实现方案:

orchestrator(GTID)

replication-manager(GTID)

MHA(传统复制)

MOHA(支持多AZ部署)

其他...

 

五、什么时候MySQL的索引"失效"不可用?

通过索引扫描的记录超过20%~30%,可能会变成全表扫描

联合索引中,查询条件不符合左侧前导要求

查询条件列最左以通配符%开始

查询条件发生数据类型隐式转换,或者字符集不匹配

HEAP表使用HASH索引时,使用范围检索或者ORDER BY

多表关联时,排序字段不属于驱动表,无法利用索引完成排序

JOIN查询时,关联列数据类型(字符集)不一致也会导致索引不可用

不可见索引,即便force index也不可用

违反索引排序规则

详情请戳:「周四见」第108期—《MySQL索引为何“失效”》

 

六、MySQL从库show processlist出现system lock的原因以及解决方法有哪些?

由于大量的小事物如UPDATE/DELETE table where一行数据,这种只包含一行DML event的语句,table是一张大表。

这个表上没有主键或者唯一键,可以考虑尝试修改参数slave_rows_search_alGorithms。

由于类似innodb lock堵塞,也就是slave从库修改了数据同时和sql_thread也在修改同样的数据。

确实I/O扛不住了,修改sync_binlog/innodb_flush_log_at_trx_commit或者提高IO子系统的IO能力

友情提示:

MySQL数据库表建议都设置int/bigint的自增主键,"业务主键"设置为not null + 唯一索引


一个轻松的Python算法题:有64瓶药,其中63瓶是无毒的,只有一瓶是有毒的。如果小白鼠喝了有毒的药,3天后会死掉,喝了无毒的药,喝了多少瓶都没事。现在只剩下3天时间,请问最少需要多少只小白鼠才能试出哪瓶药有毒?

总共需要六只小白鼠。

6只小白鼠当做二进制的位数,那么小白鼠可以表示从000000 - 111111,也就是十进制的0-63个数,药按照1-64排好号,比如第一瓶药编号1,对应小白鼠000001,最右边的小白鼠喝,以此类推,比如第8瓶药,001000,第三只小白鼠喝。从1-63号药都喝一遍。假如最后死的小白鼠对应二进制是001111,那么是15号药有毒。


对文章感兴趣的朋友们可以加我哦,这里有一个乐于交友的人鸭!

微信:lvqingshan_

您可能感兴趣的文档:

--结束END--

本文标题: 现在业内常用的MySQL高可用方案有哪些?

本文链接: https://lsjlt.com/news/2830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 现在业内常用的MySQL高可用方案有哪些?
    目录 如何将excel数据导入MySQL表中? 用xtrabackup跑mysql物理备份,建议授予哪些权限? select里用rand(),怎么优化效率? 现在业内常用的MySQL高可用方案有哪些? 什...
    99+
    2017-04-30
    现在业内常用的MySQL高可用方案有哪些?
  • 常见的MySQL高可用方案有哪些
    这篇文章主要介绍了常见的MySQL高可用方案有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇常见的MySQL高可用方案有哪些文章都会有所收获,下面我们一起来看看吧。1. 概...
    99+
    2024-04-02
  • 常见的高可用MySQL解决方案有哪些
    这篇文章主要介绍常见的高可用MySQL解决方案有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1. 主从复制解决方案   主从...
    99+
    2024-04-02
  • 常见的MySQL高可用设计方案有哪些
    这篇文章主要讲解了“常见的MySQL高可用设计方案有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见的MySQL高可用设计方案有哪些”吧!MySQL高可用设计方案,如果单MySQL的优...
    99+
    2023-06-27
  • 运维中的高可用MySQL解决方案有哪些
    运维中的高可用MySQL解决方案有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数据库作为最基础的数据存储服务之一,在存储系统中有着非常重...
    99+
    2024-04-02
  • Oracle的高可用集群方案有哪些
    这篇文章主要介绍“Oracle的高可用集群方案有哪些”,在日常操作中,相信很多人在Oracle的高可用集群方案有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle...
    99+
    2024-04-02
  • MySQL高可用方案的一些思考
    我在去年QCon和Gdevops广州站的时候,讲到MySQL和Oracle的现状和发展时,简单总结了下一个常见的使用误区:把MySQL当Oracle用,或者把Oracle当做MySQL用。...
    99+
    2024-04-02
  • MySQL常用分库分表方案有哪些
    这篇文章主要为大家展示了“MySQL常用分库分表方案有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL常用分库分表方案有哪些”这篇文章吧。一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈...
    99+
    2023-06-25
  • mysql高可用中MMM高可用mysql方案是怎么样的
    这期内容当中小编将会给大家带来有关mysql高可用中MMM高可用mysql方案是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 MMM高可用mysql方案 ...
    99+
    2024-04-02
  • SQLServer高可用方案在企业生产环境的实践
    从SQLServer 2012以后微软推出了新的SQLServer高可用技术 ,它的名字叫AlwaysOn。 AlwaysOn是一种集合了高可用性和灾难恢复两种功能于一体的技术,相比故障转移群集、数据库镜...
    99+
    2022-02-15
    SQLServer高可用方案在企业生产环境的实践
  • 实现redis高可用机制的方法有哪些
    实现redis高可用机制的方法有哪些?针对这个问题,这篇文章给出了相对应的分析和解答,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。保证redis高可用机制需要redis主从复制、redis持久...
    99+
    2024-04-02
  • 企业级常见的WiFi搭建方案有哪些
    这篇“企业级常见的WiFi搭建方案有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“企业级常见的WiFi搭建方案有哪些”文...
    99+
    2023-06-27
  • [MySQL] 从业务层面对MySQL高可用方案进行分解
             相对于传统行业的相对服务时间9x9x6或者9x12x5,因为互联网电子商务以及互联网游戏的实时性,所以服...
    99+
    2024-04-02
  • 10款常见MySQL高可用方案选型解读
    原文:https://yq.aliyun.com/articles/80365utm_campaign=wenzhang&utm_medium=article&utm_source=QQ-q...
    99+
    2024-04-02
  • mysql中有哪些常用的内置函数
    本文主要给大家简单讲讲mysql中有哪些常用的内置函数,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql中有哪些常用的内置函数这篇文章可以给大家带来一...
    99+
    2024-04-02
  • 常用的tensorflow可视化方法有哪些
    TensorBoard:TensorBoard 是 TensorFlow 提供的一个可视化工具,用于监控模型训练过程中的各种指标...
    99+
    2024-03-12
    tensorflow
  • MySQL数据库的几种常见高可用方案介绍
    本篇内容主要讲解“MySQL数据库的几种常见高可用方案介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库的几种常见高可用方案介绍”吧!一、概述 ...
    99+
    2024-04-02
  • mysql占用内存过高的原因有哪些
    MySQL占用内存过高的原因可能包括以下几个方面:1. 数据库内存缓存设置过大:MySQL使用了多种缓存来提高数据库查询性能,如查询...
    99+
    2023-08-19
    mysql
  • 有哪些常用的释放常规内存的方法
    本篇内容介绍了“有哪些常用的释放常规内存的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  一、当系统配置有扩展内存时,可以将DOS的大...
    99+
    2023-06-09
  • 当sessionstorage不可用时,有哪些可替代的方案可以使用?
    sessionStorage 是 HTML5 提供的一种用于在客户端存储数据的机制。然而,在某些情况下,sessionStorage 可能无法使用,这可能会导致一些问题。在本文中,我们将探讨一些替代方案,以解决在 session...
    99+
    2024-01-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作