2011-03-05 114 views
0

我使用macports安装Mysql5。但是,当试图为root帐户创建密码时,出现此错误:想要更改mysql root的密码,但遇到错误

sh-3.2# /opt/local/lib/mysql5/bin/mysqladmin -u root password 123456 
/opt/local/lib/mysql5/bin/mysqladmin: connect to server at 'localhost' failed 
error: 'Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (61)' 
Check that mysqld is running and that the socket: '/opt/local/var/run/mysql5/mysqld.sock' exists! 

如何解决此问题?

+1

你可能想检查服务是否实际运行 – JohnP 2011-03-05 09:36:16

回答

1

检查,看是否MySQL守护进程运行

ps aux | grep mysqld 

如果它是你应该看到:

mysql 28290 1.1 2.7 340496 56812 ?  Sl Jul31 348:27 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock 

如果你很幸运,你会看到--socket参数指定你的套接字文件的位置。如果它与你的mysql客户端正在查找的路径不同(/opt/local/var/run/mysql5/mysqld.sock),那么你可以手动指定它作为命令行参数之一。

此外,你应该检查是否存在/etc/my.cnf文件和设置无误,这里有一个例子的my.cnf:

[mysqld] 
user=mysql_owner 
datadir=/path/to/datadir/mysql 
socket=/path/to/datadir/mysql/mysql.sock 
skip-innodb 

[mysql.server] 
user=mysql_owner 
basedir=/path/to/datadir 

[client] 
user=mysql_owner 
socket=/path/to/datadir/mysql/mysql.sock 

[safe_mysqld] 
err-log=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 

希望这有助于,离火有问题,如果你是仍然有问题

0

检查您的发行版的默认套接字是什么。您也可以尝试接法对TCP4使用:

/opt/local/lib/mysql5/bin/mysqladmin -h 127.0.0.1 -u root -p secret 

或者,如果你已经找到了路径,您的插座(在MySQL的配置文件),可以使用的财产以后,如:

/opt/local/lib/mysql5/bin/mysqladmin --socket=/tmp/mysql.sock -u root -p secret 
+0

我得到了这个错误。/opt/local/lib/mysql5/bin/mysqladmin:连接到服务器'127.0.0.1'失败 错误:'在读取初始通信包时丢失与MySQL服务器的连接',系统错误:61' – karikari 2011-03-06 05:46:46

+0

您可以检查你的MySQL服务器的日志。同时检查配置文件'my.cnf',查看日志文件和套接字的正确路径。 – vbence 2011-03-06 12:37:12