MySQL守护进程无法启动 - centos 6

 ccccccc_fly_887 发布于 2023-02-13 16:15

编辑:查看勾选的答案评论以解决您的问题.

每当我尝试启动SQLD服务时,我都会得到MySQL守护进程无法启动.我实际上试图通过执行以下操作来"启动"服务:

service mysqld start

当我输入:mysql

我明白了:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

我知道该目录中应该有一个mysql.sock文件,所以我创建一个.但该文件只是自动删除其自我,我继续得到错误2002.

由于错误,我也无法登录PHPMyAdmin.我可以访问phpmyadmin页面但登录时我得到:#2002 Cannot log in to the MySQL server

编辑:

这是我的mysql.log文件:

131201 13:05:07 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131201 13:18:18 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131201 13:18:18 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
131201 13:18:18 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
131201 13:18:18 InnoDB: The InnoDB memory heap is disabled
131201 13:18:18 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131201 13:18:18 InnoDB: Compressed tables use zlib 1.2.3
131201 13:18:18 InnoDB: Using Linux native AIO
131201 13:18:18 InnoDB: Initializing buffer pool, size = 128.0M
131201 13:18:18 InnoDB: Completed initialization of buffer pool
131201 13:18:18  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
131201 13:18:18 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

我跑了mysql_upgrade并得到了

Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
FATAL ERROR: Upgrade failed

hexicle.. 19

尝试重启apache sudo service httpd restart.为我工作.

5 个回答
  • 导致此错误的最可能原因是您的mysql服务器未运行.当你输入mysql你正在执行mysql客户端.

    尝试:

    # sudo service mysql start
    # mysql
    

    更新(在OP包含登录问题之后;取自以下评论):

    谢谢,看到你的日志.日志说mysql用户没有适当的访问权限.我假设你的mysql用户是mysql(可以验证/etc/my.cnf,执行

    chown -R mysql:mysql /var/lib/mysql

    并尝试mysqld重新开始.

    2023-02-13 16:16 回答
  • 您可能需要从根(/)分区释放一些空间。通过以下方式停止mysql进程:

    /etc/init.d/mysql stop
    

    通过以下命令从mySql中删除未使用的数据库:

    rm -rf [Database-Directory]
    

    在中执行它/var/lib/mysql。现在,如果您运行df -h,您可能会对仍然充满空间感到困惑。为了删除未使用的数据库的目录,您需要使用当前目录/分区来终止进程。

    停止mysql_safemysqld_safe然后mysqld

    ps -A
    

    然后找到mysql的进程号(例如2234)。然后执行:

    kill 2234
    

    现在再次启动mysql:

    /etc/init.d/mysql start
    

    2023-02-13 16:16 回答
  • 运行这个:

    chown -R mysql:mysql /var/lib/mysql
    

    然后再试一次!

    2023-02-13 16:16 回答
  •  /etc/init.d/mysqld stop
    
      mysqld_safe --skip-grant-tables &
    
      mysql_upgrade
    
     /etc/init.d/mysqld stop
    
     /etc/init.d/mysqld start
    

    2023-02-13 16:16 回答
  • 尝试重启apache sudo service httpd restart.为我工作.

    2023-02-13 16:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有