首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在收到错误2002后无法重新启动mysql服务,无法连接到本地mysql服务器

问在收到错误2002后无法重新启动mysql服务,无法连接到本地mysql服务器
EN

Server Fault用户
提问于 2014-06-21 17:55:21
回答 1查看 9K关注 0票数 2

从昨天开始,当连接到mysql时,我会收到这个错误:

代码语言:javascript
复制
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

我已经一个月没有动过我的安装程序了,所以我不相信它是由我试图对设置所做的任何更改所驱动的。当我尝试重新启动mysql服务时

代码语言:javascript
复制
service mysqld restart

我知道这个错误:

代码语言:javascript
复制
Stopping mysqld:                                           [  OK  ]
touch: cannot touch ‘/var/log/mysqld.log’: Permission denied
chown: changing ownership of ‘/var/log/mysqld.log’: Operation not permitted
chmod: changing permissions of ‘/var/log/mysqld.log’: Operation not permitted
chown: changing ownership of ‘/var/lib/mysql’: Operation not permitted
chmod: changing permissions of ‘/var/lib/mysql’: Operation not permitted
MySQL Daemon failed to start.

如果我试着:

代码语言:javascript
复制
sudo service mysqld restart

我只得到:

代码语言:javascript
复制
Stopping mysqld:                                           [  OK  ]
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

我认为这是基于我在其他服务器错误线程上看到的关于相同错误的权限问题,但我仍然感到困惑,因为我应该有在该目录中执行文件的权限:

代码语言:javascript
复制
drwxr-xr-x 6 mysql mysql 4096 Jun 21 16:42 /var/lib/mysql

更新:下面的日志。看起来像是内存问题,但我不知道如何解决:

代码语言:javascript
复制
140618 20:17:46 mysqld_safe Number of processes running now: 0
140618 20:17:46 mysqld_safe mysqld restarted
140618 20:17:47 [Note] Plugin 'FEDERATED' is disabled.
140618 20:17:47 InnoDB: The InnoDB memory heap is disabled
140618 20:17:47 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140618 20:17:47 InnoDB: Compressed tables use zlib 1.2.7
140618 20:17:47 InnoDB: Using Linux native AIO
140618 20:17:47 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
140618 20:17:47 InnoDB: Completed initialization of buffer pool
140618 20:17:47 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140618 20:17:47 [ERROR] Plugin 'InnoDB' init function returned error.
140618 20:17:47 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140618 20:17:47 [ERROR] Unknown/unsupported storage engine: InnoDB
140618 20:17:47 [ERROR] Aborting

140618 20:17:47 [Note] /usr/libexec/mysqld: Shutdown complete

140618 20:17:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
140621 16:42:49 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140621 16:42:49 [Note] Plugin 'FEDERATED' is disabled.
140621 16:42:49 InnoDB: The InnoDB memory heap is disabled
140621 16:42:49 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140621 16:42:49 InnoDB: Compressed tables use zlib 1.2.7
140621 16:42:49 InnoDB: Using Linux native AIO
140621 16:42:50 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
140621 16:42:50 InnoDB: Completed initialization of buffer pool
140621 16:42:50 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140621 16:42:50 [ERROR] Plugin 'InnoDB' init function returned error.
140621 16:42:50 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140621 16:42:50 [ERROR] Unknown/unsupported storage engine: InnoDB
140621 16:42:50 [ERROR] Aborting

140621 16:42:50 [Note] /usr/libexec/mysqld: Shutdown complete

140621 16:42:50 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

更新:在这里找到了正在设置交换文件的答案。我所遵循的关于如何做到这一点的详细信息可以在这里找到:http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html

EN

回答 1

Server Fault用户

发布于 2014-06-21 22:01:14

您需要确保mysql用户拥有所有mysql文件。验证mysql日志文件是否属于MySQL用户。

代码语言:javascript
复制
ls -l /var/log/mysql*

如果没有设置适当的所有者:

代码语言:javascript
复制
chown mysql:mysql /var/log/mysql....

对my.cnf中列出的所有目录执行相同的操作:

代码语言:javascript
复制
root# grep mysql /etc/mysql/my.cnf
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /data/mysql
log_bin=/data/mysql/binlogs/mysql-bin.log
slow_query_log_file=/var/log/mysql_slow_query.log
log-error=/var/log/mysql_error.log
innodb_data_home_dir = /data/mysql

对于目录,使用递归chown:

代码语言:javascript
复制
chown mysql:mysql -R /data/mysql
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/606999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档