登录mysql出现/var/lib/mysql/mysql.sock不存在以及mysql dead but subsys locked的问题

测试空间旗下大头针出品

问题描述:
1.mysql安装完成后,使用
service mysqld restart
总是出现stop mysqld service 失败。
2.使用mysql -uroot -p登录出现找不到 /var/lib/mysql/mysql.sock问题。
3.使用service mysqld status出现 mysql dead but subsys locked


解决方法:
大多数mysql都是rpm方式安装的。它会自动寻找/var/lib/mysql/mysql.sock这个文件。


1.首先检查mysql.sock的位置。
通过/etc/my.cnf中的socket的字段。
如果socket如下所示:

socket=/tmp/mysql.sock

2.为mysql.sock增加软连接(相当于windows中的快捷方式)。比如实际的mysql.sock在/tmp/下。
则运行如下命令。

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

3.如果上述两种方法都不生效。那么使用
 3.1 service mysqld restart
 3.2 service mysqld status
     如果出现 mysql dead but subsys locked
4.方法 1
  4.1 service mysqld stop      (停止服务)
  4.2 rm -fr /var/lib/mysql/*  (删除/var/lib/mysql下的所有文件)
  4.3 rm /var/lock/subsys/mysqld(删除锁定文件)
  4.4 killall mysqld           (杀死所有mysqld进程) 
  4.5 service mysql start      (启动mysql服务。)
5.方法2
5.1 查看日志文件
cat /var/log/mysqld.log
5.2 停止服务
service mysqld stop
5.3 查看mysql进程
ps -aux|grep -i ^mysql
5.4 结束进程
killall mysql
5.5 删除/var/lib/mysql/*
rm -Rf /var/lib/mysql/*
5.6 查看mysql的全局配置文件
cat /et/my.cnf
5.7 拷贝预配置好的阳历服务器选项文件,/etc/mysql全局配置文件优先级大于服务器选项文件,但这里有更多的选项。
cp /usr/share/doc/mysql-server-?.??.??/my-small.cnf /var/lib/mysql
5.8 重新创建初始数据库
mysql_install_db
5.9 检查和设置服务的运行级别。
chkconfig --level 345 mysqld on
chkconfig --list mysqld
5.10 启动服务
service mysqld restart
5.11 查看日志文件
cat /var/log/mysqld.log
大家注意4或5使用1种即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常表示 MySQL 服务器无法在默认位置创建套接字文件。可能的原因包括 MySQL 服务器未启动、MySQL 配置文件错误或目录权限不正确等。 以下是一些可能的解决方法: 1. 检查 MySQL 服务器是否已启动:您可以使用以下命令检查 MySQL 服务器是否正在运行: ``` sudo systemctl status mysqld ``` 如果 MySQL 服务器未运行,请使用以下命令启动 MySQL 服务器: ``` sudo systemctl start mysqld ``` 2. 检查 MySQL 配置文件是否正确:MySQL 配置文件 my.cnf 中包含 MySQL 套接字文件的位置。检查 my.cnf 文件中是否存在以下行: ``` socket=/var/lib/mysql/mysql.sock ``` 如果该行不存在,请将其添加到 my.cnf 文件中。如果该行存在,请确保文件路径是否正确。 3. 检查目录权限是否正确:MySQL 套接字文件默认存储在 /var/lib/mysql 目录中。您可以使用以下命令检查该目录的权限: ``` ls -ld /var/lib/mysql ``` 如果目录权限不正确,请使用以下命令更改目录权限: ``` sudo chown mysql:mysql /var/lib/mysql sudo chmod 755 /var/lib/mysql ``` 4. 更改 MySQL 套接字文件的位置:如果您想更改 MySQL 套接字文件的位置,可以在 my.cnf 文件中更新 socket 配置选项。找到以下行: ``` socket=/var/lib/mysql/mysql.sock ``` 将其更改为: ``` socket=/path/to/mysql.sock ``` 其中,/path/to/mysql.sock 是您要使用的 MySQL 套接字文件的路径。 如果以上方法都无法解决问题,请检查您的 MySQL 配置和网络设置,确保 MySQL 服务器可以正确连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值