mysql8.0.22設置遠程連接


參照官方文檔安裝完mysql之后(安裝)

關閉防火牆

關閉防火牆方法

    (提示:以下命令必須按順序執行,否則會出現不可預知的麻煩!)

登陸到mysql命令行:

mysql -u root -p

進入之后選擇mysql庫,查看user表中的用戶信息

mysql> use mysql
mysql> select host, user, authentication_string, plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host      | user             | authentication_string                                                  | plugin                |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | root             | $A$005$)C%}|B/O#6>     cNUWhdcLdaapuvYsxy2VqkPkMwwU.0AM9tJ1iO5SVr7 | caching_sha2_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+

修改root用戶的host,刷新修改,賦予權限

mysql> update user set host='%' where user='root';

mysql> flush privileges;
如果防火牆關閉的話root已經可以連接了,我覺得下面這句命令應該是給其它用戶授予的,root本身已經有這些權限 mysql
> GRANT ALL ON *.* TO 'root'@'%'; #這個指令的意思是給予用戶名為root主機名為任何的對象在任何庫任何表上的所有權限,我自己理解的

 ---------------------------------此時我的mysql已經可以在其它機器上用MySql Workbench連接了---------------------------------------

根據需要在使用MySql Workbench建立一些特定用戶

-------比較舊版本的SQLyog和Navicat還需要以下設置:

修改加密規則

 

注意:執行以下命令一定要在命令行窗口下,用一些客戶端工具會有風險!

 

  先use mysql一下,如果沒有使用如果當前使用的庫不是mysql,然后執行下面語句

 
         

mysql>
ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword' PASSWORD EXPIRE NEVER;

更新 root 用戶密碼的驗證方式

 
         
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
mysql> FLUSH PRIVILEGES;

 

--------------------------------------------------------------------------------------------------------------------------------------- 

創建一般用戶

 #1、創建新用戶
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'userpassword';
 #給普通用戶遠程連接的權限:
 #2、授權 myuser 用戶對指定庫的所有表,所有權限並設置遠程訪問
mysql> GRANT ALL ON 指定庫.* TO 'username'@'%'; 
 #3、更新 該 用戶密碼 
mysql> ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'userpassword';
 #4.刷新權限 
mysql> FLUSH PRIVILEGES;

ok,可以使用一般用戶username了。

刪除用戶

刪除賬戶及權限:

mysql>drop user 'username'@'%';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM