sudo / usr / local / mysql / bin / mysqladmin -u root -p密码
我得到这个错误:
/ usr / local / mysql / bin / mysqladmin:在'localhost'连接服务器失败错误:'无法通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysqld.sock'(2)'检查mysqld正在运行,并且socket:'/var/run/mysqld/mysqld.sock'存在!
我已经创build了mysqld.sock并给予了许可。 但仍然得到相同的错误。
任何人都可以帮忙
谢谢
你确定mysql真的在运行吗? 做一个
ps aux | grep mysql
检查这一点。 通过TCP / IP连接通常比通过套接字更容易:
mysql -u root -p -h 127.0.0.1
你的客户端和服务器很可能对套接字的位置有不同的想法。
如果你有一个/ proc文件系统,find服务器放置socket的位置是很容易的。 输出来自:
ps -elf | grep mysqld
应该包括一个mysqld服务器线程的进程标识(任何将会这样做)。 然后在/ procto中查看套接字的写入位置:
sudo ls -l /proc/NNN/fd
NNN是来自“ps”调用的进程ID。
一旦你知道了套接字的位置,在连接string中传递它的位置:
sudo /usr/local/mysql/bin/mysqladmin -u root -S /path/to/mysqld.sock -ppassword
socket位置通常在mysql.cnf文件(/etc/mysql/mysql.cnf或/etc/mysql.cnf或其他)中指定,在“[mysqld]”一节中。 如果那里没有套接字入口,那么服务器将使用默认编译的/tmp/mysql.sock。 您可以随时停止(或终止)服务器,并将一个明确的套接字条目添加到configuration文件中,如:
[mysqld] socket=/var/run/mysqld/mysqld.sock
值得添加到[客户端]部分,所以所有的客户端工具都有相同的想法。