ubuntu 安裝mysql密碼修改
阿新 • • 發佈:2018-12-28
在ubuntu上(我使用的是mint)和ubuntu基本沒區別。安裝mysql。
1) sudo 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
方式二 (我使用的是這一種):
sudovim /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註釋掉或者刪除)