小编Rol*_*DBA的帖子

InnoDB 表 SELECT 返回 ERROR 2006 (HY000): MySQL 服务器已消失(停电后)

此服务器是一台运行 CentOS 6.0、MySQL 5.5.21 的虚拟机

有一个名为devSystem. 里面有 InnoDB 表。运行以下命令会导致错误ERROR 2006 (HY000): MySQL server has gone away。我以前没有广泛使用 InnoDB,所以还没有遇到过这种类型的问题。我只能假设它特定于 InnoDB,因为它没有使用 MyISAM 出现。无论如何,我尝试运行的命令如下。

mysql -u root -p
mysql> USE `devSystem`;
-- database changed
mysql> SHOW TABLES;
Run Code Online (Sandbox Code Playgroud)

MySQL 客户端返回的完整错误

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    1
Current database: devSystem

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server …
Run Code Online (Sandbox Code Playgroud)

mysql innodb myisam mysql-5.5

7
推荐指数
1
解决办法
2万
查看次数

处于“更新”状态时查询速度经常变慢

我有两个经常更新的表,一个是直接的UPDATE ..,另一个是直接的,INSERT .. ON DUPLICATE KEY UPDATE ...通常这些查询是即时的,但有时需要 0.1 秒到 1+ 秒,然后又是即时的几秒钟。

另一件事要注意,我有两个 MySQL 服务器(在同一个专用网络中)。所有选择查询(除了一两个)都在从站上执行,这里看到的插入当然在主站上。当数据库处于大负载下时,速度减慢最为明显。最后,我正在使用 xtradb(看看它是否有帮助),但在纯 MySQL 5.5 InnoDB 上发生了相同的行为。

-- CustomData
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| Server    | int(11) | NO   | PRI | NULL    |       |
| Plugin    | int(11) | NO   | PRI | NULL    |       |
| ColumnID  | int(11) | NO   | PRI | NULL    |       |
| DataPoint | …
Run Code Online (Sandbox Code Playgroud)

mysql innodb replication performance

7
推荐指数
1
解决办法
1万
查看次数

mysql:您如何确定理想的“open_files_limit”设置值?

我面临这个问题:https : //serverfault.com/questions/104618/out-of-resources-for-mysqldump

问题

  • 我知道我需要增加 open_files_limit,但要增加多少?
  • 我可以在 mysql 中调用一个命令来告诉我这应该是多少吗?

mysql mysqldump backup

7
推荐指数
1
解决办法
2万
查看次数

MySQL 数据库相对于转储文件有多大?

我正在将 ~52GB 转储恢复到 MySQL 数据库。ibdata1 文件已经超过转储文件的大小,恢复仍然不完整。如果知道 MySQL 转储文件的大小,有没有办法估计 ibdata1 文件的最终大小?

mysql innodb restore

7
推荐指数
1
解决办法
5723
查看次数

MongoDB - 我应该将日志和数据分开到不同的驱动器吗?

我从多个来源看到和听到,将数据库日志和数据文件写入不同的磁盘可能是一个好主意,在性能方面。

推荐的方法是什么(例如在 EC2 上)?

  • 如果我们将数据文件写入 RAID(例如 EBS 驱动器),大多数人会将日志写入何处?
  • 我应该使用完全独立的(RAIDed)驱动器集吗
  • 我应该使用单个非 RAID 驱动器吗?
  • 我应该将数据和日志留在同一个 RAID 上吗?

performance mongodb amazon-ec2

7
推荐指数
2
解决办法
5168
查看次数

将监控复制状态的 MySQL 用户的权限?

我想使用脚本来监控 MySQL 数据库的复制状态,就像在这个 bash 脚本中一样:https : //gist.github.com/wesdeboer/1791632

我想创建一个仅用于查询复制状态的用户。所以基本上这个用户只需要运行以下命令:

"SHOW SLAVE STATUS \G"
Run Code Online (Sandbox Code Playgroud)

我需要授予用户的最低权限集是什么?

(这甚至是可以GRANT编辑的东西吗?

mysql replication permissions

7
推荐指数
1
解决办法
2万
查看次数

为什么该查询会导致锁定等待超时?

有时,我会在我的 PHP 错误日志中发现很多这些错误:

MYSQL.1213: Deadlock found when trying to get lock; try restarting transactionSQL
Run Code Online (Sandbox Code Playgroud)

问题持续约 2 或 3 分钟。感谢stackoverflow,原因很容易找到:

------------------------
LATEST DETECTED DEADLOCK
------------------------
130320 15:53:37
*** (1) TRANSACTION:
TRANSACTION 0 83395751, ACTIVE 35 sec, process no 26405, OS thread id 140507872417536 starting index read
mysql tables in use 3, locked 3
LOCK WAIT 3 lock struct(s), heap size 1216, 2 row lock(s)
MySQL thread id 1163191, query id 199629038 localhost sosci Updating
UPDATE `database`.`table` SET `invalidate`='2013-03-21 03:53:02' …
Run Code Online (Sandbox Code Playgroud)

mysql innodb performance deadlock locking

7
推荐指数
1
解决办法
8390
查看次数

比较两个 MySQL 转储文件

我正在尝试比较两个 MySQL 转储文件。一个是通过全新安装的 Web 应用程序制作的,另一个是来自同一 Web 应用程序的转储,该应用程序已从先前版本升级到与全新安装相同的版本号。

基本上我想确保升级脚本正常工作,并且所有正确的列和约束都在升级版本中,就像它们在全新安装中一样。我认为一个简单的 diff/sdiff 就足够了,但我遇到了问题:列顺序。

全新安装和升级之间的列顺序不同,导致许多误报“差异”。在查看输出时很容易看出同一列只是在不同的位置,但是对于数百个表,检查和识别这些误报需要很长时间。

是否有更好的方法来比较这两个将忽略列顺序的转储(或强制转储具有按字母顺序或类似顺序排列的列的方法)或一种更好的完全不同的方法。无可否认,我对 MySQL 还是很陌生,并且正在学习,所以任何帮助都将不胜感激。

谢谢。

mysql schema mysqldump backup

7
推荐指数
1
解决办法
5191
查看次数

如何修复从网络读取时复制事件校验和验证失败。错误代码:1743

我们的服务器有磁盘空间问题。因此,复制的 IO 线程无法启动。

以下是mysql错误日志中的错误:

[注意] Slave I/O 线程:连接到 master 'user@host:3307',复制开始于 log 'mysql-bin.000030' at position 196820914

[错误] 从 I/O:从网络读取时复制事件校验和验证失败。错误代码:1743

[错误] 从站 I/O:中继日志写入失败:无法将来自主站的事件排队,错误代码:1595

我该如何解决问题?

mysql replication

7
推荐指数
1
解决办法
1万
查看次数

仅获取多个字段的整体汇总 WITH ROLLUP 和 GROUP BY

执行WITH ROLLUP多字段分组时,MySQL 会为每个组返回一个汇总行,以及总体摘要:

CREATE TABLE test (name VARCHAR(50), number TINYINT);
INSERT INTO test VALUES
    ('foo', 1), ('foo', 1), ('foo', 2), ('foo', 3), ('foo', 3),
    ('bar', 1), ('bar', 2), ('bar', 2), ('bar', 2), ('bar', 3),
    ('baz', 1), ('baz', 2), ('bar', 2);
SELECT name, number, COUNT(1) FROM test GROUP BY name, number WITH ROLLUP;

+------+--------+----------+
| name | number | count(1) |
+------+--------+----------+
| bar  |      1 |        1 |
| bar  |      2 |        3 |
| bar  | …
Run Code Online (Sandbox Code Playgroud)

mysql group-by

7
推荐指数
1
解决办法
2万
查看次数