1. 程式人生 > >ubuntu 安裝mysql密碼修改

ubuntu 安裝mysql密碼修改

  在ubuntu上(我使用的是mint)和ubuntu基本沒區別。安裝mysql。

      1sudo apt-get install mysql-server

      2)  sudo apt-get install mysql-client

      3)  sudo apt-get install libmysqlclient-dev

 

     安裝完畢後,mysql就是預設啟動的,可以通過:

 

 ps -aux | grep mysql 

來檢視mysql程序。

 有時候安裝1)時並沒有彈出提示框來要求輸入 root 密碼。此時mysql無法登入。我不清楚root密碼是什麼(反正不是空,我試過了)。

      折騰了許久有兩種方式可以解決:

    方式一 進入mysql目錄,修改mysqld.cnf檔案,加入skip-grant-tables  

  

 cd /etc/mysql/mysql.conf.d/

 vim mysqld.cnf 

找到 [mysqld]這一節,在其中加入:
 skip-grant-tables

wq儲存退出,重啟mysql服務
sudo service mysql restart

方式二 (我使用的是這一種):

sudo
vim /etc/mysql/debian.cnf

此處,一定要加入sudo(除非你是使用的root賬戶),否則開啟看不到內容,vim底部會提示沒有許可權。

[client]
host     = localhost
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock

可以看到,有使用者debian-sys-maint , 下面有密碼(很難記憶的字串)。使用此使用者和密碼進入到mysql中。

 

use mysql;

// 不要直接使用
update user set authentication_string=password('xiaolu----') where user='root' and host='localhost';

重啟mysql服務後,你會發現,看似修改了,然後依然登入不上去(使用 root使用者和xiaolu----密碼)

此時應當(在mysql中,通過方式一或者方式二進入到mysql):

mysql> select plugin from user where host = 'root';

得到的結果是: auth_socket;

請使用:

mysql>update user set plugin='mysql_native_password';

然後,再去執行修改密碼操作。此時成功。

mysql>flush privileges;

mysql> exit 退出mysql sudo service mysql restart; mysql -uroot -p 輸入密碼。 成功登入。

ps:如果採用方式一(即skip-grant-tables方式,登入成功後,請將 skip-grant-tables註釋掉或者刪除)