![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 91
-无-为-
做过开发,创过业,踩过坑。从Java后台开发,PL/SQL开发,Pro*C开发,到shell脚本,再到兼职开发的MySQL DBA。
为人友善诚恳,工作踏实,吃苦耐劳,富有朝气,激情,以及团队合作意识。
https://github.com/zhouxx1055
https://zhouxx.blog.csdn.net/
展开
-
实战:搞懂数据库连接池和Druid连接池
数据库连接池是一种管理数据库连接的技术,它可以在应用程序启动时创建一定数量的数据库连接,并将这些连接保存在一个连接池中。当应用程序需要访问数据库时,可以从连接池中获取一个空闲的连接,使用完毕后再归还给连接池。这样可以提高应用程序访问数据库的效率,减少数据库连接的开销。Druid数据库连接池中,应用线程向连接池获取连接时,如果池中没有连接,则应用线程会在notEmpty上等待,同时Druid数据库连接池中有一个创建连接的线程,会持续的向连接池创建连接,如果连接池已满,则创建连接的线程会在empty上等待。原创 2024-07-22 20:24:57 · 624 阅读 · 0 评论 -
科普文: hikari druid c3p0 dbcp等主流数据库连接池性能比较
对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池。NOTE: 本文所有测试均是MySQL库。原创 2024-07-22 18:38:05 · 1008 阅读 · 0 评论 -
规范:MySQL数据库规范
从数据库的设计原则、命名规范等方面论述数据库设计的规范思想及命名规则。参照以下原则进行数据库设计:(1)方便业务功能实现、业务功能扩展(2)方便设计开发、增强系统的稳定性和可维护性;(3)保证数据完整性和准确性(4)提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销达到优化平衡。原因:索引NULL列需要额外的空间来保存,所以要占用更多的空间;进行比较和计算时要对NULL值做特别的处理。原创 2024-07-21 10:40:40 · 912 阅读 · 0 评论 -
实战:搞懂SQL执行流程、SQL执行计划解读和SQL优化
搞懂SQL执行流程、SQL执行计划解读和SQL优化。解析SQL解析器执行SQL预处理器检查 SQL 查询语句中的表或者字段是否存在(不存在报错);将select *中的*符号,扩展为表上的所有列;优化器优化器主要负责将 SQL 查询语句的执行方案确定下来,比如在表里面有多个索引的时候,优化器会基于查询成本的考虑,来决定选择使用哪个索引。根据MySQL执行计划的输出,分析索引使用情况、扫描的行数可以预估查询效率;进而可以重构SQL语句、调整索引,提升查询效率。原创 2024-07-19 16:18:36 · 854 阅读 · 0 评论 -
叶师傅:区区1万张表就把MySQL给整崩溃了
最后,看看 AliSQL 的内核开发者对引发此问题的 bug (#bug115517) 进行的深入分析。Percona 资深工程师 Marco Tusa 近日爆料称,升级到 MySQL 8.0.38 版本后,当实例中的表个数超过一万个,实例重启后会发生 Crash 而失败,即便是重启时加上。这算不算罗曼罗兰说的那种英雄主义,咱就是这么乐观,哈哈哈。说下我个人看法,这个 Bug 虽很 low,但这个问题很小,也很容易规避。、降级操作不影响,仅限我的测试场景,更复杂场景不能保证也 OK。,没再继续往下测试。原创 2024-07-19 13:15:40 · 377 阅读 · 0 评论 -
科普文:信创国产数据库兼容性一览
让我们先从一张《数据库库兼容性一览表》开始,谈谈各家兼容性。❖兼容对象在兼容对象上,大部分产品都将Oracle、MySQL、PostgreSQL作为兼容对象,部分产品还将如DB2、SQL Server等作为兼容对象。在实现上有些产品是支持多种模式,可以在初始化时进行选择,这里用[MultiDB]进行区分。原创 2024-07-16 07:58:36 · 960 阅读 · 0 评论 -
实战:MySQL运行在Docker容器中会损失多少性能
自从使用 docker 以来,就经常听说 MySQL 数据库最好别运行在容器中,性能会损失很多。一些之前没使用过容器的同事,对数据库运行在容器中也是忌讳莫深,甚至只要数据库跑在容器中出现性能问题时,首先就把问题推到容器上。那么到底会损失多少,性能损失会很多吗?为此我装了两个 MySQL,版本都是 8.0.34。一个用官网二进制包安装,另一个用 docker hub 的 MySQL 镜像安装。两个 MySQL 都运行在同一台机器,但不同时运行,先后运行测试。原创 2024-07-15 10:33:56 · 632 阅读 · 0 评论 -
科普文:MySQL 数据库巡检
数据库巡检的内容通常涵盖主机硬件、操作系统和MySQL巡检项。其中,主机/os巡检主要包括:主机的硬件配置、CPU/内存/磁盘使用率以及磁盘的I/O使用情况;MySQL巡检项包括:数据库配置、用户权限、大表数据量、业务表主键和自增长情况、数据库的并发性、当前和历史连接情况统计、备份执行情况以及日志记录和慢SQL的分析优化等。原创 2024-07-15 10:06:00 · 533 阅读 · 0 评论 -
科普文:数据库事务、隔离级别和并发问题(MySQL)
事务:并发连接场景下,用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。MySQL的事务就是将多条SQL语句作为整体进行执行。:事务将数据库从一种一致性状态转换为另一种一致性状态;保证系统始终处于一个完整且正确的状态。:事务可由一条非常简单的 SQL 语句组成,也可以由一组复杂的SQL 语句组成。:在数据库提交事务时,可以确保要么所有修改都已经保存,要么所有修改都不保存。事务是访问并更新数据库各种数据项的一个程序执行单元。在 MySQL innodb 下,单条语句都具备事务。原创 2024-07-15 06:31:13 · 372 阅读 · 0 评论 -
Java web应用性能分析之【思考一个问题:%CPU低,Load avg>5,会出现这种情况吗,要命吗,是否要关注?】
CPU飙高的指标一般情况下,我们服务器的都比较空闲,因为cpu一般不是性能瓶颈。偶尔有进程的%cpu>100%,也是正常情况。毕竟是在多核cpu服务器上,进程里面起了多线程,%cpu>100%很正常。说明进程对CPU多核利用很充分。我们一般说cpu飙高,并不只是%CPU这一个参考值。上面“性能分析概叙”中有讲我们关注的点是下面这些,而且这些指标都是相互关联的,并不是某一项很高就说明有问题:cup利用率[us <70%,sy<35%,id>=95% ]原创 2024-04-24 19:45:30 · 655 阅读 · 1 评论 -
Java web应用性能分析之【CPU飙高分析之MySQL】
在上面文章中,我们从整体上描述了Linux服务器性能监控分析,下面我们将通过sysbench模拟mysqld的cpu飙高情况,同时进一步分析是那些sql导致cpu飙高。原创 2024-04-23 21:59:30 · 1576 阅读 · 0 评论 -
Java web应用性能分析之【MySQL安装注意事项】
本文主要是针对以前LAMP,以及默认用apt安装的mysql。数据文件、日志文件都在一起;innodb_buffer_pool默认用128M。如果你排查问题,最后发现是因为mysql的安装配置不对,是否一口老血要喷出来。同时给MySQL数据库安装做参考。关于MySQL数据库优化,我这里分成5部分:1.服务器配置优化,2.MySQL安装优化,3.MySQL配置优化,4.数据库设计优化,5.针对MySQL的SQL优化。原创 2024-04-21 05:46:28 · 860 阅读 · 0 评论 -
MySQL执行update时的[ERROR 1093]处理方法
从oracle转mysql的同志们,估计都会遇到上面这种情况,怎么这样的sql执行不了。为什么会这样?字面意思就是update的表不能出现在from语句中,原因是mysql对子查询的支持是比较薄弱的 。而且手册上面说下面的这些情况都会报错原创 2015-10-05 11:13:42 · 15175 阅读 · 1 评论 -
MySQL 5.6初始配置调优
MySQL 5.6初始配置调优http://itindex.net/detail/49935-mysql-5.6-%E5%88%9D%E5%A7%8B原文链接: What to tune in MySQL 5.6 after installation 原文日期: 2013年09月17日 翻译日期: 2014年06月01日 翻译人员: 铁锚 随着 大量默认转载 2015-10-21 11:27:26 · 1095 阅读 · 0 评论 -
配置MySQL使用HugePages
http://www.cnblogs.com/LMySQL/p/4689868.html前言:对于有Oracle运维经验的童鞋来说,如果服务器内存很大,一般都会设置HugePages,是因为如下原因:对于 Linux 操作系统,通过 Linux kswapd 进程和页表内存结构(针对系统中存在的每个进程包含一条记录)实现内存管理。 linux的内存管理采取的是分页存取机制,为了保证物理内转载 2015-09-15 17:40:21 · 1336 阅读 · 0 评论 -
Linux HugePages及MySQL 大页配置
Linux HugePages及MySQL 大页配置http://www.linuxidc.com/Linux/2013-08/88227.htm㈠ HugePages简介HugePages是kernel 2.6引入以便适应越来越大的物理内存在Linux下、page size默认是4K、如果使用HugePages、默认是2M再看2个术语:pa转载 2015-09-15 17:53:46 · 719 阅读 · 0 评论 -
MySQL避免使用swap分区的方法
MySQL避免使用swap分区的方法SWAP是操作系统虚拟出来的一部分内存地址,它的物理存储元件是磁盘。在备份数据或恢复数据时,文件系统会向Linux系统请求大量的内存作为cache。在物理内存使用殆尽时候,为了确保程序运行,往往会将另外的一些占用物理内存地址空间的程序映射到swap分区上。MySQL程序运行时,物理内存为MySQL分配了大量的物理地址空间,以提高执行的速率。为了避免在执行转载 2015-09-15 17:49:03 · 2611 阅读 · 0 评论 -
MySQL数据导入--load data
起因: 朋友的数据库,用的版本是5.5.19;服务端和客户端字符集都是utf8,因为某些原因,系统经过好多人的开发和处理,同一个表存在多种字符集写入;so乱码问题,时有发生。为了彻底解决这个问题。 我这边的操作如下:1.核查工程中转码的地方。2.将数据库每个表都转出来;转成utf8。3.调试:新的工程和新的库。-----------------------原创 2017-09-10 15:03:13 · 1257 阅读 · 0 评论 -
innodb 优化
http://zauc.wordpress.com/2010/04/06/%E8%AF%91mysql-innodb%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E7%9A%84%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/Mysql innodb performance optimizationMysql innodb存转载 2015-10-01 18:54:37 · 786 阅读 · 0 评论 -
关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处! 1.XA XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管转载 2015-09-16 09:36:56 · 654 阅读 · 0 评论 -
[MySQL分享]--查看MySQL数据字典SQL(包含索引)
版权声明:声明:本文档可以转载,须署名原作者。 作者:无为 qq:490073687 周祥兴 zhou.xiangxing210@163.com查看单表数据结构:show create table t\G;查看单表上的索引:show index from t;show keys from t;下面通过mysql自带的系统表,提取整个库的数据字典信息:-- 表结构SELEC原创 2015-10-08 14:27:14 · 7267 阅读 · 0 评论 -
[MySQL分享]--interactive_timeout和wait_timeout小结(interactive_timeout会覆盖wait_timeout)
# Connection timeout variables#interactive_timeout:#参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。#参数默认值:28800秒(8小时)#wait_timeout:#参数含义:服务器关闭非交互连接之前等待活动的秒数。#在原创 2015-09-21 16:50:23 · 5159 阅读 · 1 评论 -
[MySQL分享]MySQL启动以及my.cnf参数文件结构小结
版权声明:声明:本文档可以转载,须署名原作者。 作者:无为 qq:490073687 周祥兴 zhou.xiangxing210@163.compercona官方出的自动生成参数文件的地址https://tools.percona.com/wizard/result官方文档的数据库服务端管理http://dev.mysql.com/doc/refman/5.1/en/serve原创 2015-09-22 15:54:13 · 3007 阅读 · 0 评论 -
mysql5.6新特性总结
mysql5.6新特性总结http://www.ttlsa.com/mysql/summary-of-the-new-features-of-mysql5_6/mysql5.6版本改变了不少,总结如下所示:一. server参数默认值设置的变化http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.转载 2015-10-15 16:56:54 · 755 阅读 · 0 评论 -
淘宝内部分享:怎么跳出MySQL的10个大坑
http://dataunion.org/8336.html淘宝自从2010开始规模使用MySQL,替换了之前商品、交易、用户等原基于IOE方案的核心数据库,目前已部署数千台规模。同时和Oracle, Percona, Mariadb等上游厂商有良好合作,共向上游提交20多个Patch。目前淘宝核心系统研发部数据库组,根据淘宝的业务需求,改进数据库和提升性能,提供高性能、可扩展转载 2016-08-25 11:07:03 · 1465 阅读 · 0 评论 -
sqlreview工具收集(标记一下)
去哪儿https://github.com/mysql-inception/inception腾讯-SQL解析工具tmysqlparse https://github.com/GCSAdmin/tmysqlparse淘宝丹臣-sql审核https://github.com/taobao/sqlautoreview原创 2016-08-25 11:08:36 · 3250 阅读 · 0 评论 -
页断裂(partial write)与doublewrite技术
http://www.cnblogs.com/cchust/p/3961260.html转载 2014-10-13 13:54:20 · 874 阅读 · 0 评论 -
MySQL 内存交换区引起的一场“血案”
http://lgdvsehome.blog.51cto.com/3360656/1280247MySQL 内存交换区引起的一场“血案”2013-08-22 00:49:36标签:MySQL swap swap对mysql性能的影响 innodb_flush_method原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和转载 2015-09-07 19:44:07 · 978 阅读 · 0 评论 -
[MySQL分享]--sql_safe_updates小知识ERROR 1175 (HY000)
版权声明:声明:本文档可以转载,须署名原作者。 作者:无为 qq:490073687 周祥兴 zhou.xiangxing210@163.comError 1175 Safe Updtes Mode错误提示如下:ERROR 1175: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.错误的原因是启用了MySQL的Safe Updtes Mode原创 2015-09-28 18:00:44 · 2160 阅读 · 0 评论 -
[MySQL SQL优化系列]之连接查询
[MySQL SQL优化系列]之连接查询http://hidba.ga/2014/09/26/join-query-in-mysql/MySQL的连接查询包括内连接(inner join)、外连接(left/right join,下文一律以left join代替)、交叉连接(在MySQL中等价于内连接,但是在标准SQL中是不等价的)、全连接(MySQL不支持full j转载 2015-06-30 21:38:21 · 900 阅读 · 0 评论 -
mysql分析函数的实现
http://hidba.org/?p=295mysql分析函数的实现May 10th, 2011hidba今天收到同事的一需求,要求实现以下功能:drop table test;create table test(name varchar(10),name1 varchar(10),count bigint);delete转载 2015-06-24 14:08:21 · 1529 阅读 · 0 评论 -
Innodb的内部存储结构小结
http://www.itpub.net/forum.php?mod=viewthread&tid=1813772本帖最后由 myownstars 于 2013-9-3 20:51 编辑本篇是Jeremy Cole一系列文章的总结,加以个人的理解,如有错误之处还望不吝赐教。原文详见http://blog.jcole.us/2013/01/ inn转载 2015-04-09 09:16:38 · 1245 阅读 · 0 评论 -
MySQL binlog_format (Mixed,Statement,Row)
http://blog.csdn.net/heizistudio/article/details/8616997?reloadMySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。MySQL Replication 复制可以是基于一条语转载 2014-10-20 21:34:26 · 1047 阅读 · 0 评论 -
mysql 用init-connect+binlog实现用户操作追踪 做access 的ip的log 记录
http://blog.sina.com.cn/s/blog_605f5b4f01013xkv.htmlmysql 用init-connect+binlog实现用户操作追踪 做access 的ip的log 记录(2012-11-17 19:12:33)转载 2014-10-20 22:47:25 · 1473 阅读 · 0 评论 -
mysql5.6新特性总结
http://www.ttlsa.com/mysql/summary-of-the-new-features-of-mysql5_6/转载 2014-10-13 16:16:17 · 822 阅读 · 0 评论 -
InnoDB之Dirty page、Redo log
http://zhumeng8337797.blog.163.com/blog/static/1007689142011215863105/?suggestedreading&wumii转载 2014-10-08 17:33:41 · 1224 阅读 · 0 评论 -
Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别
当前,utf8_unicode_ci校对规则仅部分支持Unicode校对规则算法。一些字符还是不能支持。并且,不能完全支持组合的记号。这主要影响越南和俄罗斯的一些少数民族语言,如:Udmurt 、Tatar、Bashkir和Mari。 utf8_unicode_ci的最主要的特色是支持扩展,即当把一个字母看作与其它字母组合相等时。例如,在德语和一些其它语言中‘ß’等于‘ss’。转载 2014-09-29 14:18:55 · 2121 阅读 · 1 评论 -
MYSQL数据丢失讨论
http://www.woqutech.com/?p=769MYSQL数据丢失讨论2013 年 4 月 9 日, 下午 5:121. 概述很多企业选择MySQL都会担心它的数据丢失问题,从而选择Oracle,但是其实并不十分清楚什么情况下,各种原因导致MySQL会丢失部分数据。本文不讨论Oracle和MySQL的优劣,仅仅关注MySQL丢失数据的转载 2014-10-08 15:27:17 · 958 阅读 · 0 评论 -
innodb_max_dirty_pages_pct与检查点的关系
http://blog.sina.com.cn/s/blog_4d8a2c970100f53u.html数据库运行一段时间后,经常导致服务器大量的swap,我怀疑是innodb中的脏数据太多了,因为没有free space了,mysql通知OS,把一些脏页交换出去,以上只是猜测。有一个现象是每次关数据库时都要关很久,并且在关数据库时,发现有大量的swap in。如果是数据库进程异常关闭,打转载 2014-09-28 16:04:46 · 2708 阅读 · 0 评论 -
生产环境MySQL Server核心参数的配置
生产环境MySQL Server核心参数的配置 ⑴ lower_case_table_names ● 推荐理由 GNU/Linux 平台,对数据库、表、存储过程等对象名称大小写敏感 为减少开发人员的开发成本,为此推荐大家设置该参数使对象名称都自动转换成小写转载 2014-09-28 16:16:16 · 910 阅读 · 0 评论