1. 程式人生 > >MYSQL-8.0.11 修改密碼 設定遠端連線

MYSQL-8.0.11 修改密碼 設定遠端連線

  本編文章是針對MYSQL-8.0.11安裝後root賬戶無法遠端登入,和修改賬戶密碼。

環境為:CentOS 7.3 + Mysql8.0.11


下載後執行:

sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

1:安裝Mysql8.0

sudo yum install mysql-community-server -y

2:啟動Mysql

sudo systemctl start mysqld.service
# 檢查是否啟動成功
sudo systemctl status mysqld.service

3: 檢視資料庫初始密碼

sudo grep 'temporary password' /var/log/mysqld.log

4:連結資料庫修改Root賬戶密碼

shell> mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass1234!';
5:修改/etc/my.cnf檔案
# update /etc/my.cnf
default-authentication-plugin=mysql_native_password

6:連線mysql 檢視user表

> mysql -u root -p
> use mysql;
> select host, user, authentication_string, plugin from user;
root賬戶為預設的密碼加密方式是:caching_sha2_password;而現在很多客戶端工具還不支援這種加密認證方式,連線測試的時候就會報錯:client does not support  authentication protocol requested by server; consider upgrading MySQL client,這裡的錯誤資訊就是不支援身份認證方式,沒關係,我們在上面第5步已經修改了預設加密方式

7:修改root賬戶遠端訪問

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密碼' WITH GRANT OPTION;

請注意如果在執行上面這句出現下面錯誤時


請先建立一個使用者

# 連線資料庫
> mysql -u root -p 

# 切換資料庫
> use mysql;

# 建立使用者(user:使用者名稱; %:任意ip, 也可以指定固定IP,root預設是localhost; 登入密碼: MyPassword123!)
> CREATE USER 'user'@'%' IDENTIFIED BY 'MyPassword123!';

# 修改user使用者的加密方式
> ALTER USER 'alenx'@'%' IDENTIFIED WITH mysql_native_password BY 'MyPassword123!';

授權,預設建立的使用者許可權是usage, 就是無許可權,只能登入而已,

> grant all on *.* to 'user1'@'%';
{ 注意:用以上命令授權的使用者不能給其它使用者授權,如果想讓該使用者可以授權,用以下命令: 
	GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; }
到這裡可以用Navicat通過剛建立的使用者連線資料庫了,然後在Navicat裡修改root的遠端IP和加密方式。