开发者社区 问答 正文

Mysql无法打开

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111);
mysql 一直无法启动,一直报这个错。启动的时候也超时

Mysql日志是这样的

2018-08-28 01:04:45 0 [Note] /usr/sbin/mysqld (mysqld 5.6.41) starting as process 7551 ...
2018-08-28 01:04:45 7551 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2018-08-28 01:04:45 7551 [Warning] Buffered warning: Changed limits: table_open_cache: 431 (requested 2000)

2018-08-28 01:04:45 7551 [Note] Plugin 'FEDERATED' is disabled.
2018-08-28 01:04:45 7551 [Note] InnoDB: Using atomics to ref count buffer pool pages
2018-08-28 01:04:45 7551 [Note] InnoDB: The InnoDB memory heap is disabled
2018-08-28 01:04:45 7551 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-08-28 01:04:45 7551 [Note] InnoDB: Memory barrier is not used
2018-08-28 01:04:45 7551 [Note] InnoDB: Compressed tables use zlib 1.2.3
2018-08-28 01:04:45 7551 [Note] InnoDB: Using Linux native AIO
2018-08-28 01:04:45 7551 [Note] InnoDB: Using CPU crc32 instructions
2018-08-28 01:04:45 7551 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2018-08-28 01:04:45 7551 [Note] InnoDB: Completed initialization of buffer pool
2018-08-28 01:04:45 7551 [Note] InnoDB: Highest supported file format is Barracuda.
2018-08-28 01:04:45 7551 [Note] InnoDB: 128 rollback segment(s) are active.
2018-08-28 01:04:45 7551 [Note] InnoDB: 5.6.41 started; log sequence number 1742154
2018-08-28 01:04:45 7551 [Note] InnoDB: !!! innodb_force_recovery is set to 4 !!!
2018-08-28 01:04:45 7551 [Note] Server hostname (bind-address): '*'; port: 3306
2018-08-28 01:04:45 7551 [Note] IPv6 is available.
2018-08-28 01:04:45 7551 [Note]   - '::' resolves to '::';
2018-08-28 01:04:45 7551 [Note] Server socket created on IP: '::'.
2018-08-28 01:04:45 7551 [ERROR] Can't start server: can't check PID filepath: No such file or directory
180828 01:04:45 mysqld_safe mysqld from pid file /var/lib/mysqld/mysqld.pid ended

展开
收起
1851027308281937 2018-08-28 01:11:23 796 分享 版权
阿里云 AI 助理回答

这个错误信息表明MySQL服务无法启动,主要原因是无法通过套接字文件/var/lib/mysql/mysql.sock连接到本地MySQL服务器,并且在日志中还提示了“can't check PID filepath: No such file or directory”。这通常意味着MySQL服务没有正确启动,或者存在配置问题、权限问题、文件系统损坏等。

针对这个问题,你可以尝试以下步骤来解决:

  1. 检查MySQL服务状态: 使用命令行工具,运行如下命令查看MySQL服务的状态。不同的操作系统命令可能有所不同,这里提供Linux上常用的命令:

    sudo service mysql status
    

    或者

    sudo systemctl status mysql
    
  2. 重启MySQL服务: 尝试重启MySQL服务,看是否能解决问题。

    sudo service mysql restart
    

    或者

    sudo systemctl restart mysql
    
  3. 检查MySQL配置文件: 检查MySQL的配置文件(通常是my.cnf),确认socket参数设置是否正确。根据你的日志,应该是/var/lib/mysql/mysql.sock。确保配置文件中的数据目录和日志文件路径都是正确的,并且这些路径存在且MySQL用户有访问权限。

  4. 检查文件权限和所有权: 确保MySQL的数据目录(如/var/lib/mysql/)及其内容的权限和所有权是正确的。MySQL服务需要能够读写该目录下的文件。可以使用以下命令调整(请谨慎操作,避免权限过大):

    sudo chown -R mysql:mysql /var/lib/mysql/
    sudo chmod -R 755 /var/lib/mysql/
    
  5. 检查PID文件路径: 日志中提到PID文件路径问题,检查/var/lib/mysqld/mysqld.pid是否存在,如果不存在或路径不正确,你可能需要在配置文件中修改pid-file的路径,使其与实际相符。

  6. 清理锁定文件: 如果存在.err文件或锁文件(如ibdata1.lock),尝试删除它们,但仅在确定MySQL服务完全关闭的情况下进行。

  7. 检查系统资源: 确认服务器是否有足够的内存和磁盘空间供MySQL使用。

  8. 重新安装或恢复: 如果上述方法都无法解决问题,作为最后手段,考虑备份好数据库数据后,重新安装MySQL或尝试从备份恢复。

记得在执行任何操作前,尤其是更改权限和删除文件时,做好相应的数据备份,以防万一。如果是在生产环境中遇到此问题,建议在非高峰时段进行操作,并寻求专业DBA的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答