代码改变世界

随笔分类 -  数据库技术(My SQL)

MySQL的Connection-Control介绍

2020-05-20 00:09 by 潇湘隐者, 4403 阅读, 收藏,
摘要: 在Oracle和SQL Server数据库中,可以设置一些复杂的账号密码策略,例如在失败登录超过N次即可锁定账号,那么在MySQL中能否也有这样的功能呢?答案是MySQL也有类似这样的功能,只不过在MySQL中是在其登录失败超过阀值后,延迟响应时间,而不是锁定账号,在MySQL 5.6.35以后提供了Connection-Control插件用来控制客户端在登录操作连续失败一定次数后的响应延迟。该插... 阅读全文

CentOS 7上更改MySQL数据库存储目录浅析

2020-03-11 10:18 by 潇湘隐者, 3270 阅读, 收藏,
摘要: 个人之前总结过两篇文章“MySQL更改数据库数据存储目录”和“Ubuntu上更改MySQL数据库数据存储目录”,都是在工作中遇到相关案例后的一个简单总结。当初的经验不足,认知有限,所以现在来看来,当初的博文确实显得浅析和不够全面,这个也没有办法,当时有些环境或案例没有涉及过,所以文章很难面面俱到,略显单薄和浅显,这个也很正常。博客不是论文,只是个人的笔记和知识点的总结。而且是基于当时的认知的经... 阅读全文

MySQL能否授予查看存储过程定义权限给用户

2019-11-14 15:36 by 潇湘隐者, 8244 阅读, 收藏,
摘要: 在其他RDBMS中,可以将查看某个存储过程(PROCEDURE)定义的权限给某个用户,例如在SQL Server中,可以单独将查看ProcedureName定义的权限授予UserA GRANT VIEW DEFINITION ON ProcedureName TO UserA; --用具体的存储过程名和账号替换 那么在MySQL中能否实现这个功能呢? 找了很多资料,没有看到有这方面的功能,... 阅读全文

MySQL解惑——GROUP BY隐式排序

2019-11-11 17:03 by 潇湘隐者, 11965 阅读, 收藏,
摘要: MySQL中GROUP BY隐式排序是什么概念呢? 主要是其它RDBMS没有这样的概念,如果没有认真了解过概念,对这个概念会感觉有点困惑,我们先来看看官方文档的介绍: 官方文档MySQL 5.7 Reference Manual中的“.2.1.14 ORDER BY Optimization”章节有如下介绍: GROUP BY implicitly sorts by default (th... 阅读全文

MySQL的统计信息学习总结

2019-11-08 16:17 by 潇湘隐者, 8223 阅读, 收藏,
摘要: 统计信息概念 MySQL统计信息是指数据库通过采样、统计出来的表、索引的相关信息,例如,表的记录数、聚集索引page个数、字段的Cardinality....。MySQL在生成执行计划时,需要根据索引的统计信息进行估算,计算出最低代价(或者说是最小开销)的执行计划.MySQL支持有限的索引统计信息,因存储引擎不同而统计信息收集的方式也不同. MySQL官方关于统计信息的概念介绍几乎等同于无,不... 阅读全文

[翻译]——MySQL 8.0 Histograms

2019-11-07 23:27 by 潇湘隐者, 985 阅读, 收藏,
摘要: 前言: 本文是对这篇博客MySQL 8.0 Histograms的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢! 英文原文地址:https://lefred.be/content/mysql-8-0-histograms/ 翻译原文地址:https://www.cnblogs.com/kerrycode/p/11817026.html 在... 阅读全文

MySQL的sleep函数的特殊特现象

2019-10-26 11:50 by 潇湘隐者, 2944 阅读, 收藏,
摘要: MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象。如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有关。如下测试所示: mysql> create table test(id int);Query OK, 0 rows affected (0.03 sec) mysql> select *,... 阅读全文

MySQL如何进行索引重建操作?

2019-10-20 09:32 by 潇湘隐者, 20748 阅读, 收藏,
摘要: 在MySQL数据库中,没有类似于SQL Server数据库或Oracle数据库中索引重建的语法(ALTER INDEX ... REBUILD),那么在MySQL数据库中,是否有什么方式重建索引呢? 在官方文档中"2.11.10 Rebuilding or Repairing Tables or Indexes"中,提到下面三种方式可以Rebuild Index · Dump ... 阅读全文

Azure上MySQL的离线备份:将备份拷贝到Azure Blob上

2019-08-21 15:51 by 潇湘隐者, 681 阅读, 收藏,
摘要: 公司在Azure的Iaas虚拟机上部署有好几台MySQL数据库,至于没有选择Azure Database for MySQL,是因为预算有限(钱不够啊!说多了也是泪,坑的还是DBA自己)。选择了Iaas的话,DBA就必须考虑离线备份(offline backup),以预防灾难性故障出现。我们选择将历史数据库备份文件用AzCopy同步到Azure存储账户的Blob存储上面。下面简单的介绍、总结一下如... 阅读全文

MySQL字符集与排序规则总结

2019-07-11 15:25 by 潇湘隐者, 53730 阅读, 收藏,
摘要: 字符集与排序规则概念 在数据库当中都有字符集和排序规则的概念, 很多开发人员甚至包括有些DBA都会将这个混淆,当然这个情况也有一些情有可原的原因。一来两者本来就是相辅相成,相互依赖关联; 另外一方面, 有些数据库并没有清晰的区分开两者。例如,SQL Server中字符集和排序规则就是合在一起的,创建一个新的数据库,只有一个Collation给你选择,并没有字符集选项概念,实际上你在选择... 阅读全文

MySQL系统变量auto_increment_increment与auto_increment_offset学习总结

2019-07-08 13:59 by 潇湘隐者, 5884 阅读, 收藏,
摘要: 在MySQL中,系统变量auto_increment_increment与auto_increment_offset是与自增列相关的两个参数变量。在官方文档中,将其划分为Replication Master Options and Variables 。具体参考官方文档17.1.6.2 Replication Master Options and Variables auto_incr... 阅读全文

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0

2019-06-18 15:31 by 潇湘隐者, 33155 阅读, 收藏,
摘要: 最近遇到一个MySQL连接的问题,远程连接MySQL时遇到“ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0”错误,如下所示: [root@DB-Server ~]# mysql -h 10.13.65.93 -u onecard -p E... 阅读全文

MySQL如何找出未提交事务信息

2019-06-12 23:34 by 潇湘隐者, 14039 阅读, 收藏,
摘要: 前阵子,我写了一篇博客“ORACLE中能否找到未提交事务的SQL语句”, 那么在MySQL数据库中,我们能否找出未提交事务执行的SQL语句或未提交事务的相关信息呢? 实验验证了一下,如果一个会话(连接)里面有一个未提交事务,然后不做任何操作,那么这个线程处于Sleep状态 mysql> select connection_id() from dual;+-----------------... 阅读全文

MySQL表的碎片整理和空间回收小结

2019-05-29 12:24 by 潇湘隐者, 42805 阅读, 收藏,
摘要: MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原因可能也有所差别。这里没有深入理解、分析这些差别。此文仅以InnoDB引擎为主。总结如有不足或错误的地方,敬请指出。 InnoDB表的数据存储在页(page)中,每个页可以存放多条记录。这些记... 阅读全文

MySQL系统变量sql_safe_updates总结

2019-03-21 09:14 by 潇湘隐者, 3359 阅读, 收藏,
摘要: MySQL系统变量sql_safe_updates总结 在MySQL中,系统变量sql_safe_updates是个非常有意思的系统变量,在Oracle和SQL Server中都没有见过这样的参数或功能。如果这个系统变量设置为1的话,意味着update与delete将会受到限制。个人臆测,之所以提供这个功能,一方面是要避免出现更新或删除数据时,忘记添加WHERE条件,导致数据被误更新或误删的情... 阅读全文

MySQL:select command denied to user for table 'proc'案例

2019-01-08 16:44 by 潇湘隐者, 34005 阅读, 收藏,
摘要: 使用EMS MySQL Manager Pro(3.4.0.1)连接MySQL 5.6.20时,报错:“SELECT command denied to user xxx@xxx.xxx.xxx.xxx for table 'proc' 很是纳闷,后面使用同样的权限,发现使用命令工具mysql -h xxxx -u username -p连接时不会报错。个人猜测是因为EMS MySQ... 阅读全文

MySQL慢查询日志释疑总结

2018-11-15 15:25 by 潇湘隐者, 11563 阅读, 收藏,
摘要: 之前写了一篇“MySQL慢查询日志总结“,总结了一些MySQL慢查询日志常用的相关知识,这里总结一下在工作当中遇到关于MySQL慢查询日志的相关细节问题,有些是释疑或自己有疑惑,自己测试验证、解惑方面的知识。此篇只是总结个人的一些经验,不足之处,敬请指正! 1: 为什么在慢查询日志里面出现Query_time小于long_query_time阀值的SQL语句呢? 例如,如下... 阅读全文

Can't create/write to file '/tmp/MLjnvU95' (Errcode: 13 - Permission denied)

2018-11-07 15:47 by 潇湘隐者, 11046 阅读, 收藏,
摘要: 今天一个同事反馈往一个MySQL数据库导入数据时,报“ERROR 1 (HY000): Can't create/write to file '/tmp/MLjnvU95' (Errcode: 13 - Permission denied)”这样的错误,如下所示: uery OK, 0 rows affected (0.03 sec) ERROR 1 (HY000): Can't cr... 阅读全文

MySQL 执行计划中Extra(Using where,Using index,Using index condition,Using index,Using where)的浅析

2018-11-05 14:49 by 潇湘隐者, 33839 阅读, 收藏,
摘要: 关于如何理解MySQL执行计划中Extra列的Using where、Using Index、Using index condition,Using index,Using where这四者的区别。首先,我们来看看官方文档关于三者的简单介绍(官方文档并没有介绍Using index,Using where这种情况): Using index (JSON property: using_... 阅读全文

Ubuntu上更改MySQL数据库数据存储目录

2018-10-15 23:37 by 潇湘隐者, 5512 阅读, 收藏,
摘要: 之前写过一篇博客“MySQL更改数据库数据存储目录”,当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之前的经验用不上了(或者说之前的总结不是太全面),修改完MySQL数据库数据存储目录后重启MySQL,发现MySQL服务无法启动。 root@mylnx2:/etc/mysql/mysql.conf.d# servi... 阅读全文