最近在ubuntu系統上安裝了MySQL,但是安裝時沒有提示輸入root用戶密碼,在網上找了一天解決方案,試圖修改root用戶下的登入密碼,但是網上的帖子都不湊效,最后終於改成功了,因此記下來以供有同樣需要的人參考。
1、安裝
$ sudo apt-get install mysql-server $ apt install mysql-client $ apt install libmysqlclient-dev
以此在終端輸入上述代碼,等待安裝。裝好后,輸入以下代碼檢查下是否安裝成功。
$ sudo netstat -tap | grep mysql $ netstat -tap | grep mysql tcp6 0 0 [::]:mysql [::]:* LISTEN 7510/mysqld
如果出現第三行提示,則表明安裝成功。
2、登入MySQL
$ mysql -u root -p
輸入密碼,如果可以進入則下面的不用看了;如果提示不能登入,則我們嘗試啟用安全模式登入MySQL,這樣可以繞過密碼登入,登入后再修改密碼。
3、安全模式登入MySQL
$ sudo /etc/init.d/mysql stop ------------------------------------- [sudo] wl 的密碼: [ ok ] Stopping mysql (via systemctl): mysql.service. $ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
輸入第一行終止MySQL運行,成功,會提示下面兩行;輸入第四行,成功,沒有任何報錯則可以另外打開一個終端窗口進行下一步操作;但是一般會報錯,比如提示mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
因此我們嘗試輸入以下代碼
$ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld
最后再次輸入:
sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
到了這里不在提示錯誤,可以打開另一個終端端口了,嘗試無密碼登入MySQL。
mysql -u root
到這里應該可以進入MySQL了,繼續操作
> use mysql; > update user set authentication_string=PASSWORD("這里輸入你要改的密碼") where User='root'; #更改密碼 > update user set plugin="mysql_native_password"; #如果沒這一行可能也會報一個錯誤,因此需要運行這一行 > flush privileges; #更新所有操作權限 > quit;
4、使用修改的密碼登入MySQL
經過上面一系列的操作,應該可以正常使用你更改的密碼登入了。
> sudo /etc/init.d/mysql stop > sudo /etc/init.d/mysql start # reset mysql > mysql -u root -p
第一行先終止數據庫運行,第二行重啟數據庫服務,第三行root用戶登入。