摘要:
上周,以前公司的同事朋友找我帮忙,看看能否帮忙恢复一个MySQL 数据库,具体情况为:数据库版本为MySQL 5.6(具体版本不清楚),也不清楚具体的数据库引擎; 没有数据库备份,只剩下数据库下面的一些文件(frm、idb),具体原因是因为出现问题的时候,重装了MySQL,最要命的是ibdata1等文件也没有了,当然这中间细节过程如何,不清楚也不用去纠结了。大概就是这么一个情况。 因... 阅读全文
随笔分类 - 数据库技术(My SQL)
MySQL中Identifier Case Sensitivity
2018-08-15 22:51 by 潇湘隐者, 1748 阅读, 收藏, 编辑
摘要:
在MySQL当中,有可能遇到表名大小写敏感的问题。其实这个跟平台(操作系统)有关,也跟系统变量lower_case_table_names有关系。下面总结一下,有兴趣可以查看官方文档“Identifier Case Sensitivity” In MySQL, databases correspond to directories within the data directory. Each... 阅读全文
MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事
2018-07-16 08:47 by 潇湘隐者, 12747 阅读, 收藏, 编辑
摘要:
MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事 一网友反馈使用mysqlbinlog解析出的二进制日志中的内容中,有些SQL语句有#注释的情况,这个是怎么回事呢?我们通过实验来了解一下具体细节情况,如下所示,实验环境为5.6.20-enterprise-commercial-advanced-log # whereis mysqlbinlog mysqlbinlo... 阅读全文
MySQL 5.7开启二进制日志注意事项
2018-07-11 15:56 by 潇湘隐者, 3719 阅读, 收藏, 编辑
摘要:
最近才开始将部分MySQL 5.6升级到MySQL 5.7, 在开启MySQL的二进制日志时,发现MySQL 5.7 与MySQL 5.6已有细微区别。如果在my.cnf配置文件中,只设置了全局系统变量log_bin,没有设置全局系统变量server_id的话,那么MySQL启动不了,而且错误日志没有任何错误信息。 查了一下官方文档16.1.6.4 Binary Logging Options... 阅读全文
MySQL自增列(AUTO_INCREMENT)相关知识点总结
2018-07-11 15:32 by 潇湘隐者, 5499 阅读, 收藏, 编辑
摘要:
MySQL的自增列(AUTO_INCREMENT)和其它数据库的自增列对比,有很多特性和不同点(甚至不同存储引擎、不同版本也有一些不同的特性),让人感觉有点稍微复杂。下面我们从一些测试开始,来认识、了解一下这方面的特殊知识点: 自增列持久化问题 如果一个表拥有自增列,当前最大自增列值为9, 删除了自增列6、7、8、9的记录,重启MySQL服务后,再往表里面插入数据,自增列的值为6还... 阅读全文
Percona XtraBackup 备份还原篇
2018-06-27 23:34 by 潇湘隐者, 4499 阅读, 收藏, 编辑
摘要:
Percona XtraBackup 安装介绍篇已经对Percona XtraBackup的功能和安装做了比较详细的介绍,那么本篇我们直接进入主题,如何使用XtraBackup做备份、还原,下面主要介绍XtraBackup备份还原操作的细节和场景,疏漏之处难免存在,如有不足,敬请指出。本篇暂时不做原理介绍,后续篇章"Percona XtraBackup 原理分析篇"再做介绍。 ... 阅读全文
MySQL状态变量Aborted_connects与Aborted_clients浅析
2018-06-21 00:25 by 潇湘隐者, 6796 阅读, 收藏, 编辑
摘要:
关于MySQL的状态变量Aborted_clients & Aborted_connects分别代表的意义,以及哪些情况或因素会导致这些状态变量变化呢?下文通过实验测试来验证一下,首先我们来看看状态变量的描述: Aborted Connect Aborted Connect表示尝试连接到MySQL服务器失败的次数。这个状态变量可以结合host_cache表和其错误日志一起来分析问题... 阅读全文
ERROR 1044 (42000): Access denied for user 'root'@'localhost'
2018-06-19 14:53 by 潇湘隐者, 28473 阅读, 收藏, 编辑
摘要:
从供应商那边接手一个MySQL数据库(数据库版本为5.7.21 MySQL Community Server (GPL)),在创建账号时遇到了“ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database xxx”错误,如下所示 mysql> grant all on xxx.* to xxx@'192... 阅读全文
ERROR 3009 (HY000): Column count of mysql.user is wrong…..
2018-06-19 13:45 by 潇湘隐者, 7195 阅读, 收藏, 编辑
摘要:
在测试备份还原时,使用XtraBackup还原数据库后,创建一个测试账号时遇到了下面错误: mysql> grant all on house.* to test@'192.168.%' identified by 'test1249'; ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found ... 阅读全文
MySQL InnoDB下关于MVCC的一个问题的分析
2018-05-29 22:33 by 潇湘隐者, 1190 阅读, 收藏, 编辑
摘要:
这个是网友++C++在群里问的一个关于MySQL的问题,本篇文章实验测试环境为MySQL 5.6.20,事务隔离级别为REPEATABLE-READ ,在演示问题前,我们先准备测试环境。准备一个测试表test以及一个存储过程循环往test表里面插入记录。 CREATE TABLE test( `id` int(11) primary key not null, `name` char... 阅读全文
翻译:MySQL "Got an Error Reading Communication Packet" Errors
2018-05-23 09:07 by 潇湘隐者, 42001 阅读, 收藏, 编辑
摘要:
前言: 本文是对Muhammad Irfan的这篇博客MySQL "Got an Error Reading Communication Packet" Errors的翻译,如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处。谢谢! 英文原文地址:https://www.percona.com/blog/2016/05/16/mysql-got-... 阅读全文
MySQL的变量分类总结
2018-05-10 19:44 by 潇湘隐者, 3959 阅读, 收藏, 编辑
摘要:
在MySQL中,my.cnf是参数文件(Option Files),类似于ORACLE数据库中的spfile、pfile参数文件,照理说,参数文件my.cnf中的都是系统参数(这种称呼比较符合思维习惯),但是官方又称呼其为系统变量(system variables),那么到底这个叫系统参数或系统变量(system variables)呢? 这个曾经是一个让我很纠结的问题,因为MySQL中有各种... 阅读全文
MySQL5.7参数log_timestamps
2018-04-30 17:12 by 潇湘隐者, 4241 阅读, 收藏, 编辑
摘要:
最近测试MySQL 5.7.21 Community Server这个版本的MySQL数据库时,发现其错误日志的时间跟系统当前时间不一致,后面检查发现日期时间格式都是UTC时间,查了一下相关资料,原来在MySQL 5.7.2 之后日志文件里面的时间戳从默认的本地系统时区改为了UTC格式。MySQL 5.7.2多了一个参数log_timestamps ,这个参数主要是控制错误日志、慢查询日志等日志... 阅读全文
MySQL新参数log_error_verbosity
2018-04-30 11:49 by 潇湘隐者, 14879 阅读, 收藏, 编辑
摘要:
在介绍这个参数前,我们先聊聊参数log_warnings。我们知道MySQL中,其中log_error定义是否启用错误日志的功能和错误日志的存储位置,log_warnings定义是否将告警信息(warning messages)也写入错误日志。此选项默认启用,具体来说: log_warnings 为0, 表示不记录告警信息。 log_warnings 为1, 表示告警信息写入错误日... 阅读全文
[翻译]:MySQL Error: Too many connections
2018-04-27 23:25 by 潇湘隐者, 2123 阅读, 收藏, 编辑
摘要:
翻译:MySQL Error: Too many connections 前言: 本文是对Muhammad Irfan的这篇博客MySQL Error: Too many connections的翻译,如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处。谢谢! 英文原文地址:https://www.percona.com/blog/2013/... 阅读全文
MySQL Innodb如何找出阻塞事务源头SQL
2018-04-26 00:04 by 潇湘隐者, 7388 阅读, 收藏, 编辑
摘要:
在MySQL数据库中出现了阻塞问题,如何快速查找定位问题根源?在实验开始前,我们先梳理一下有什么工具或命令查看MySQL的阻塞,另外,我们也要一一对比其优劣,因为有些命令可能在实际环境下可能并不适用。 1: show engine innodb status 2: Innotop工具 3: INNODB_TRX 等系统表 下面我们理论联系实际,通过实验来测试总结一... 阅读全文
MySQL下perror工具查看System Error Code信息
2018-04-02 23:52 by 潇湘隐者, 2812 阅读, 收藏, 编辑
摘要:
在MySQL数据库的维护过程中,我们有时候会在MySQL的错误日志文件中看到一些关于Operating system error的错误信息,例如在MySQL的错误日志里面,有时候会看到关于 InnoDB: Operating system error number 0. InnoDB: Check that your OS and file system support files of... 阅读全文
ERROR 1050 (42S01): Table xxx already exists
2018-04-02 12:26 by 潇湘隐者, 22347 阅读, 收藏, 编辑
摘要:
今天遇到一个关于MySQL求助的问题,修改表结构时遇到“ERROR 1050 (42S01): table xxx already exits" mysql> ALTER TABLE DAY_BOOK_REPORT ADD UNIT_PRICE_PCS DOUBLE(12,2) DEFAULT NULL; ERROR 1050 (42S01): TABLE 'INVGSP/#SQL-... 阅读全文
MySQL的自动提交模式
2018-03-26 10:09 by 潇湘隐者, 46053 阅读, 收藏, 编辑
摘要:
默认情况下, MySQL启用自动提交模式(变量autocommit为ON)。这意味着, 只要你执行DML操作的语句,MySQL会立即隐式提交事务(Implicit Commit)。这个跟SQL Server基本是类似的。如果你了解SQL Server数据库的话。 查看autocommit模式 由于变量autocommit分会话系统变量与全局系统变量,所以查询的时候,最好... 阅读全文
MySQL服务读取参数文件my.cnf的规律研究探索
2018-03-16 15:27 by 潇湘隐者, 1823 阅读, 收藏, 编辑
摘要:
在MySQL中,它是按什么顺序或规律去读取my.cnf配置文件的呢?其实只要你花一点功夫,实验测试一下就能弄清楚,下面的实验环境为5.7.21 MySQL Community Server。其它版本如有不同,请以实际情况为准。 其实,MySQL是按照下面这个顺序来读取my.cnf: 1: /etc/my.cnf 2: /etc/mysql/my.cnf 3: /us... 阅读全文