无法本地登录mysql

无法本地登录mysql

当我尝试使用以下命令本地登录 mysql 时:

mysql -u root -p

我收到此错误:

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

我可以远程访问服务器(不是以 root 身份),并且我的网页可以正常使用 mysql,但我无法在本地登录(我需要这样做,因为我需要创建一些用户)。我所做的唯一更改是将另一个驱动器连接到服务器并将 sql 数据移动到那里。这是 my.cnf

[mysqld]
datadir=/media/ephemeral0/data/mysql
socket=/media/ephemeral0/data/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# adding more config
skip-external-locking
long_query_time=1
slow_query_log
slow_query_log_file=/var/log/log-slow-queries.log
log-bin=mysql-bin
server-id= 1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
myisam_recover_options

我读到我需要编辑 my.cnf 中的套接字信息以确保它指向正确的套接字文件..我仔细检查并发现该文件存在(尽管当我执行 ls -l“srwxrwxrwx 1 mysql mysql 0 Jun 21 03:43 mysql.sock”时它以 S 开头)。

我不太清楚如何解决这个问题。我尝试重新启动并运行 yum update 以确保我运行的是最新的软件包。

请帮忙!

答案1

问题在于,在[mysqld]您的部分中my.cnf,您已将套接字设置为非标准位置,/media/ephemeral0/data/mysql/mysql.sock但该[mysqld]部分仅影响服务器而不影响客户端。

您应该将该选项放在该[mysql]部分中 - 然后它将同时适用于客户端和服务器。

您可以在 mysql 文档中找到有关选项文件及其中各部分的更多信息:

http://dev.mysql.com/doc/refman/5.1/en/option-files.html

相关内容