我正在尝试访问mysql,当我运行mysql命令时,我得到以下内容。
[根@ IP-10-229-65-166 tpdatabase-1.8.0.28356] #mysql
ERROR 2002(HY000):无法连接 本地MySQL服务器通过socket '/var/lib/mysql/mysql.sock'(2)
这样做不会返回任何内容
[root @ ip-10-229-65-166 mysqld] #find -name mysql *
[root @ ip-10-229-65-166 mysqld]# /etc/init.d/mysql停止 -bash:/etc/init.d/mysql:没有这样的文件或目录
[根@ 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
答案 0 :(得分:29)
您需要安装服务器包:
sudo yum install mysql-server
安装后,您必须启动该服务:
sudo service mysqld start
答案 1 :(得分:5)
我的办公室设置中遇到了类似的操作系统问题。实际发生的事情是服务器上的空间不足。这很奇怪,但我相信如果服务器满了,文件无法加载或其他一些手段。请检查以确保服务器上的空间足够您必须尝试删除已安装的mysql并重新安装。祝你好运。
答案 2 :(得分:5)
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
的权限答案 3 :(得分:4)
只搜索mysqld,这是服务器守护程序:
find / | grep mysqld
如果找到了,可以正确安装服务器软件包但不使用initd脚本。对于测试,您可以手动执行上述文件来启动mysql服务器。
答案 4 :(得分:1)
mysql可能已单独打包为客户端和服务器。检查软件包存储库以确保已安装服务器。 mysql
包可能只是客户端。检查是否有一个名为mysql-server
的包或类似的包。检查mysql
包安装的文件列表,看它是否实际安装了服务器。
如果文件不存在,则不是权限问题。此外,您以root身份运行。
答案 5 :(得分:0)
我最近在Ubuntu 18.04上升级后遇到此问题。这里的解决方案解决了https://serverfault.com/a/957723/439448。
答案 6 :(得分:0)
确保您具有访问/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
。
应该可以。
答案 7 :(得分:-2)
在命令提示符下命中mysql之前,请确保放置正确的my.cnf configuration file
并将etc文件夹的权限设置为
chmod -R 777
等文件夹如下表所示,以避免
错误MySQL - ERROR 2002(HY000): 例如/etc/my.cnf,/etc/mysql/my.cnf, $ MYSQL_HOME / my.cnf [datadir] /my.cnf~ / .my.cnf