超出 MariaDB/MySQL 资源限制

Posted

技术标签:

【中文标题】超出 MariaDB/MySQL 资源限制【英文标题】:MariaDB/MySQL resource limit was exceeded 【发布时间】:2016-08-03 19:15:07 【问题描述】:

我正在尝试连接到安装在我的 CentOS 7 上的 MariaDB/mysql,并在尝试连接时收到以下错误:mysql -u root -p

ERROR 2002 (HY000): 无法通过套接字 '/var/lib/mysql/mysql.sock' (111) 连接到本地 MySQL 服务器

我尝试通过指定 IP 地址而不是使用 localhost 来连接它,但我得到了同样的错误。

当我尝试获取 MariaDB 状态时,我收到以下消息 (/bin/systemctl status mariadb.service):

mariadb.service - MariaDB 数据库服务器 已加载:已加载(/usr/lib/systemd/system/mariadb.service;已启用;供应商预设:已禁用) 活动:失败(结果:资源)

启动它会产生以下错误 (/bin/systemctl start mariadb.service):

mariadb.service 的作业失败,因为超出了配置的资源限制。详见“systemctl status mariadb.service”和“journalctl -xe”。

我还查看了位于 /var/log/mariadb/mariadb.log 的日志

160408 12:21:00 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
160408 16:11:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
160408 16:11:01 [Note] /usr/libexec/mysqld (mysqld 5.5.47-MariaDB) starting as process 3054 ...
160408 16:11:02 InnoDB: The InnoDB memory heap is disabled
160408 16:11:02 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160408 16:11:02 InnoDB: Compressed tables use zlib 1.2.7
160408 16:11:02 InnoDB: Using Linux native AIO
160408 16:11:02 InnoDB: Initializing buffer pool, size = 128.0M
160408 16:11:02 InnoDB: Completed initialization of buffer pool
160408 16:11:02 InnoDB: highest supported file format is Barracuda.
160408 16:11:04  InnoDB: Waiting for the background threads to start
160408 16:11:05 Percona XtraDB (http://www.percona.com) 5.5.46-MariaDB-37.6 started; log sequence number 54018416776
160408 16:11:06 [Note] Plugin 'FEEDBACK' is disabled.
160408 16:11:07 [Note] Server socket created on IP: '0.0.0.0'.
160408 16:11:07 [Note] Event Scheduler: Loaded 0 events
160408 16:11:07 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.47-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306 MariaDB Server
160409  6:26:06  InnoDB: Error: Write to file ./ibdata1 failed at offset 9 615514112.
InnoDB: 1048576 bytes should have been written, only 585728 were written.
InnoDB: Operating system error number 28.
InnoDB: Check that your OS and file system support files of this size.
InnoDB: Check also that the disk is not full or a disk quota exceeded.
InnoDB: Error number 28 means 'No space left on device'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
160409  6:26:06  InnoDB: Assertion failure in thread 140463216400128 in file os0file.c line 4377

有人对如何修复此错误有任何想法吗?

谢谢你:)

【问题讨论】:

检查 mysql 错误日志并在可用时从那里发布相关诊断。请参阅***.com/questions/33700660/… 以获取日志的位置。 感谢您的帮助 :) 由于 mysql/mariadb 未运行,我无法使用推荐的技术获取日志。但是我在“/var/log/mariadb/mariadb.log”中找到了日志文件并将内容添加到我的问题中。 【参考方案1】:
> perror 28
OS error code  28:  No space left on device

需要我多说吗?

【讨论】:

以上是关于超出 MariaDB/MySQL 资源限制的主要内容,如果未能解决你的问题,请参考以下文章

Python3:超出资源限制时出现异常或返回代码?

“system-cloudinit@-var-tmp-hostname.yml.service 的作业失败,因为超出了配置的资源限制”

ArcEngine不同种类的工作空间建立查询ICursor时“超出系统资源”

Big Query 抛出“查询执行期间超出资源”

解决ORA-02395:超出I/O使用的调用限制问题

Abp开发日志:MariaDB(MySql)