sudo
在 Ubuntu 16.04 中,每次我想通过命令行使用 MySQL 时,都需要调用该命令。如果sudo
不调用,我会收到以下错误消息:
$ mysql -u anyuser -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我的anyuser
已在“mysql”中创建。我想避免使用sudo
。
答案1
经过仔细检查,我发现我的系统中有两个“mysql”:一个位于 Anaconda 的 bin 目录,另一个位于“/usr/bin/”。安装在系统 bin 目录中的“mysql”在“/var/run/mysqld/”下创建了一个套接字文件。我的系统默认指向 Anaconda bin 目录中的“mysql”,因此我通过创建符号链接解决了这个问题,如下所示:
$ ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock