MySQL關於建用戶


Mysql創建用戶並授權以及開啟遠程訪問

創建用戶並授權
1、登錄mysql
  mysql -u root -p
2、創建數據庫
  create database test;//以創建test為例
3、創建用戶
創建user01,只能本地訪問
  create user user01@'localhost' identified by 'password';
創建user02,可以遠程訪問
  create user user02@'%' identified by 'password'
4、修改用戶密碼
以user01為例:
  set password for 'user01'@'localhost'=password('anotherpassword')
5、授權
授予user01管理test的全部權限
  grant all privileges on test.* to user01;
授予user02查看權限,並修改密碼
  grant select on *.* to 'user02'@'%' identified by 'anotherpassword';
授予所有權限
GRANT ALL PRIVILEGES ON *.* TO zhangsan@"%" IDENTIFIED BY "lisi";

 

8.0版不能直接grant 語法創建用戶了;可以在建用戶的時候設置密碼;或create后再alter修改密碼; 然后授權

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';
Query OK, 0 rows affected (0.01 sec)
mysql> use mysql
Database changed
mysql> select host, user, authentication_string, plugin from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+------------------
| host | user | authentication_string | plugin
+-----------+------------------+------------------------------------------------------------------------+------------------
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_pass
| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_pass
| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_pass
| localhost | root | $A$005$X Ze/bh?ty wH2lE/FyW4VTakA7Gslux8reGv2eMPPxtxEhf84XFROc2 | caching_sha2_passwo
+-----------+------------------+------------------------------------------------------------------------+------------------
4 rows in set (0.00 sec)
-------------------------------------------------------------------------------------------
查看user表的root用戶Host字段是localhost,說明root用戶只能本地登錄,現在把他改成遠程登錄
------------------------------------------------------------------------------------------
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

=====================================================================================================
MySQL8.0之前的版本密碼加密規則:mysql_native_password,
MySQL8.0密碼加密規則:caching_sha2_password
不一樣

修改mysql加密規則
輸入命令
ALTER USER 'root'@'%' IDENTIFIED BY 'xxxxxx' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';
FLUSH PRIVILEGES;

*****防火牆放行mysql port*****

firewall-cmd --zone=public --add-port=33062/tcp --permanent (--permanent永久生效,沒有此參數重啟后失效)
firewall-cmd --reload

*****iptables防火牆的自行解決一下*****

 


免責聲明!

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



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