2017-01-26 41 views
0

我在連接到MySQL從Ubuntu的16.04麻煩:如何在MySQL中重置我的root密碼?

mysql -u root -p 

返回錯誤:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 

當我試圖啓動與服務器:

sudo service mysql start 
mysqld_safe --skip-grant-tables & 

的輸出是:

# 2017-01-26T20:11:45.329764Z mysqld_safe Logging to syslog. 
2017-01-26T20:11:45.333031Z mysqld_safe Logging to '/var/log/mysql/error.log'. 
2017-01-26T20:11:45.336684Z mysqld_safe Logging to '/var/log/mysql/error.log'. 
2017-01-26T20:11:45.358956Z mysqld_safe A mysqld process already exists 

如果我殺死的過程:

ps aux | grep "msyql" 
kill -9 pid 

,然後運行:

mysqld_safe --skip-grant-tables & 

我得到:

2017-01-26T20:10:07.979813Z mysqld_safe Logging to '/var/log/mysql/error.log'. 
2017-01-26T20:10:07.984114Z mysqld_safe Logging to '/var/log/mysql/error.log'. 
2017-01-26T20:10:07.987546Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists. 

這是一個死循環。那麼如果我從頭開始重新安裝呢?

首先拆下的MySQL:

sudo apt-get remove --purge mysql-server mysql-client mysql-common 
sudo apt-get autoremove 
sudo apt-get autoclean 

然後重新安裝:

sudo apt-get update 
sudo apt-get install mysql-server 
sudo mysql_install_db // (deprecated command) 
sudo /usr/bin/mysql_secure_installation 

就在這裏:

sudo /usr/bin/mysql_secure_installation 

Securing the MySQL server deployment. 

Enter password for user root: 
Error: Access denied for user 'root'@'localhost' (using password: YES) 

或:

mysqladmin -u root password [newpass] 
mysqladmin: connect to server at 'localhost' failed 
error: 'Access denied for user 'root'@'localhost' (using password: NO)' 

然後它倒下。

我已試過這裏所有的答案 - ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

有時一個臨時密碼是根據他人存儲,但建議

任何人這不是存儲在/var/log/mysqld.log能夠幫助嗎?

回答

-1

如何閱讀本網頁並嘗試了其中描述的方法?

Resetting the Root Password: Unix and Unix-Like Systems

+0

是的,我得到儘可能在類Unix系統部分第5步,我得到這個: mysqld_safe的--init文件= /家/我/的mysql-INIT& [1 ] 30542 #2017-01-26T20:47:19.809930Z mysqld_safe記錄到系統日誌。 2017-01-26T20:47:19.813143Z mysqld_safe記錄到'/var/log/mysql/error.log'。 2017-01-26T20:47:19.817689Z mysqld_safe記錄到'/var/log/mysql/error.log'。 2017-01-26T20:47:19.820696Z mysqld_safe UNIX套接字文件的目錄'/ var/run/mysqld'不存在。 – snakespan

+0

這應該可能是一條評論。只有鏈接的答案是不鼓勵的,因爲鏈接失效時它們變得毫無用處。考慮保留鏈接的詳細解釋,但在這裏添加粗略的指令列表。 – CollinD

+0

@CollinD我同意你的意見。原因是我不確定評論中的鏈接是否可點擊,我只是想讓它更容易轉到頁面。該頁面是官方文檔,可能對其他類似問題有用。 – Shiping