当我尝试使用以下命令在本地login到MySQL时:
mysql -u root -p
我得到这个错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
我可以远程访问服务器(不作为根),我的网页使用MySQL罚款,但本地我无法login(我需要,因为我需要创build一些用户)。 只有改变我是附加另一个驱动器到服务器,并在那里移动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中的套接字信息,以确保它指向正确的套接字文件..我再次检查和文件存在(虽然它开始与S当我做ls -l“srwxrwxrwx 1 mysql mysql 0 Jun 21 03:43 mysql.sock“)。
我真的不知道如何解决这个问题。 我试图重新启动并运行yum更新,以确保我正在运行最新的软件包。
请帮忙!
问题是在my.cnf的[mysqld]部分中,您已经将套接字设置为/media/ephemeral0/data/mysql/mysql.sock的非标准位置,但[mysqld]部分仅影响服务器,不是客户。
你应该把这个选项放在[mysql]部分,然后它将应用到客户端和服务器。
您可以在mysql文档中find关于选项文件和其中的部分的更多信息: