2011-03-05 115 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