MySQL操作(一)用戶及權限


一、mysql 里的所有用戶都是存儲在數據庫mysql的user表里

 

二、創建普通用戶、賦權、撤銷權限 的操作

1、創建用戶(需要先用root進去mysql)格式:create  user  '用戶名'@'IP'  identified by  '密碼';    # 用戶名隨便起,IP需是真實存在的IP

查看當前可連接數據庫的用戶有哪些:select  user,host  from  mysql.user;

另外開一個cmd終端,用test進入 mysql,可以看到普通用戶test進入數據庫后幾乎沒有任何權限,show databases;能夠看到的數據庫也只有2個

 

引申:設置test1用戶時用%則表示test1用戶可以用任何ip連接數據庫

新開個cmd終端,用test1用戶去連接數據庫,看看效果:

 

 2、為創建的用戶賦權(需要先用root進去mysql):

 2.1  賦權語句:grant  權限1,權限2,.....  on  數據庫名.*   to  ‘用戶名’@'IP'或者'%';

#  on  數據庫.*  :表示對指定的數據庫里的所有表賦權

#  to  ‘用戶名’@'IP :表示給 【‘用戶名’@'IP 】這個操作賦權

 

2.2  給用戶賦權所有的數據庫用 :  *.*

2.3  給用戶賦權指定數據庫下的所有表的所有操作權限用: all 或者 all  privileges 

示例語句:grant all privileges on *.* to 'test'@'127.0.0.1';       # 這樣寫相當於是root權限了

示例:

新開個cmd終端,用test用戶去連接數據庫:

 

2.4  同時創建用戶和賦權:grant  select,update,insert  on  shop.*   to   'test3'@'127.0.0.1'  identified  by  '123456';

 

 3、刪除用戶及撤銷權限(需要先用root進去mysql)

3.1插銷權限語句格式:revoke  權限1,權限2,...  on 數據庫名.*  from '用戶名'@‘IP’或者'%';

新開個cmd終端,用test用戶去連接數據庫:

 3.2刪除用戶  DROP USER ‘用戶名’@‘localhost’;

 

 三、mysql 允許遠程訪問

1.修改root用戶host(以root用戶為例)

 1 -- 在安裝mysql的機器上運行:
 2 mysql -u root -proot
 3 mysql>use mysql;
 4 mysql>update user set host = '%' where user ='root';
 5 mysql>select host, user from user; //查看用戶
 6 
 7 
 8 
 9 1、d:/mysql/bin/>mysql -h localhost -u root //這樣應該可以進入MySQL服務器
10 2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //賦予任何主機訪問數據的權限
11 3、mysql>FLUSH PRIVILEGES //修改生效
12 4、mysql>EXIT //退出MySQL服務器

2、檢查防火牆,確保3306端口對外開放

 

參考鏈接:https://www.cnblogs.com/wodexk/p/10674646.html

 


免責聲明!

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



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