[英]Missing /var/lib/mysql/mysql.sock file
我正在尝试访问 mysql,当我运行 mysql 命令时,我得到以下信息。
[root@ip-10-229-65-166 tpdatabase-1.8.0.28356]# mysql
ERROR 2002 (HY000): 无法通过 socket '/var/lib/mysql/mysql.sock' 连接到本地 MySQL 服务器 (2)
这样做没有任何回报
[root@ip-10-229-65-166 mysqld]# find -name mysql*
[root@ip-10-229-65-166 mysqld]# /etc/init.d/mysql stop -bash: /etc/init.d/mysql: 没有那个文件或目录
[root@ip-10-229-65-173 tpdatabase-1.8.0.28356]# mysql_config |grep -- --socket
--socket [/var/lib/mysql/mysql.sock]
也许是权限问题?
我确实使用yum install mysql 安装了 mysql
我在 Amazon EC2 云实例上运行 CentOS 5.4
您需要安装服务器包:
sudo yum install mysql-server
安装后,您必须启动该服务:
sudo service mysqld start
rm -rvf /var/lib/mysql/ib_logfile*
touch /var/lib/mysql/mysql.sock
touch /var/lib/mysql/mysql.pid
chown -R mysql:mysql /var/lib/mysql
systemctl restart mysql
试试这个并检查 /var/lib/mysql/mysql.sock 和 /tmp 的权限
我们在使用相同操作系统的办公室设置中遇到了类似的问题。 实际发生的事情是服务器上的空间不足。 这很奇怪,但我相信如果服务器已满,则无法加载文件或其他方式。 请检查以确保服务器上的空间足够,否则您必须尝试删除已安装的 mysql 并重新安装。 祝你好运。
只需搜索 mysqld,这是服务器守护进程:
find / | grep mysqld
如果您找到它,则服务器包可能已正确安装,但没有 initd 脚本。 为了进行测试,您可以手动执行上述文件来启动 mysql 服务器。
mysql 可能已单独打包为客户端和服务器。 检查您的软件包存储库以确保已安装服务器。 mysql
包可能只是客户端。 检查是否有一个名为mysql-server
或类似的包。 检查mysql
包安装的文件列表,看看它是否真的安装了服务器。
如果文件甚至不存在,则不是权限问题。 此外,您以 root 身份运行。
我最近在 Ubuntu 18.04 上升级后遇到了这个问题。 这里的解决方案解决了它https://serverfault.com/a/957723/439448 。
确保您有权访问 /var/lib/mysql/mysql.sock 文件。 如果仍然出现错误,请创建一个默认的 my.cnf 文件
[client]
socket = /path/to/mysql/data/mysql.sock
[mysqld]
server-id = 2
socket = /path/to/mysql/data/mysql.sock
port = 4000 #any port you wish
basedir = /path/to/mysql
datadir = /path/to/mysql/data
并再次初始化数据库。 确保在初始化时提供--defaults-file=/path/to/mysql/my.cnf
。 如果您收到错误消息,指出/path/to/mysql/data
存在文件,请删除它们并重试。 完成后,当您还运行 mysql 时,请提供--defaults-file=/path/to/mysql/my.cnf
。 应该管用。
在命令提示符下点击 mysql 之前,请确保已放置正确的my.cnf configuration file
,并将 etc 文件夹的权限设置为
chmod -R 777
etc 文件夹如下列表以避免
错误 MySQL - 错误 2002 (HY000):例如 /etc/my.cnf、/etc/mysql/my.cnf、$MYSQL_HOME/my.cnf [datadir]/my.cnf ~/.my.cnf
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.