中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL的用戶和權限如何管理

發布時間:2020-05-22 17:03:04 來源:網絡 閱讀:168 作者:三月 欄目:數據庫

下面講講關于MySQL的用戶和權限如何管理,文字的奧妙在于貼近主題相關。所以,閑話就不談了,我們直接看下文吧,相信看完MySQL的用戶和權限如何管理這篇文章你一定會有所受益。

MySQL的用戶賬號: 用戶名@主機

主機格式: 

  1. 主機名 www.node1.com


  2. IP: 172.16.139.2

       172.16.0.0/255.255.255

       192.16.%.%


  3. 通配符:172.16.%.%

        %.node1.com


Mysql賬號的唯一目的就是在用戶連接MySQL云服務器時,進行用戶的登錄認證,而要在登錄后進行一些數據訪問、操作等,還要另外進行授權


MySQL進程在啟動時會讀取以下六個權限表


user:用戶賬號,全局權限

db:庫級別權限

tables_priv:表級別權限

columns_priv:列級別權限

procs_priv:存儲過程與存儲函數相關權限

proxies_priv:代理用戶權限


權限級別: 全局級別 庫 表 列 存儲過程和存儲函數


觸發器:主動數據庫,當執行insert、delete、update時會自動觸發另外自定義的操作;如向user表中插入數據時,定義往log表中插入時間值,往user表中插入數據。


創建一個叫做faker的用戶,密碼為123

>create user faker@'127.0.0.1' identified by '123';


mysql> show grants for faker@'127.0.0.1'; 查看faker在127.0.0.1的權限為usage,只能登陸和做簡                             單的查看

+----------------------------------------------+

| Grants for faker@127.0.0.1                                                                                   |

+----------------------------------------------+

| GRANT USAGE ON *.* TO 'faker'@'127.0.0.1'

 IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |


為用戶授權:

user表中host列的值的意義

%            匹配所有主機

localhost      localhost不會被解析成IP地址,直接通過UNIXsocket連接

127.0.0.1      會通過TCP/IP協議連接,并且只能在本機訪問;

::1          ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1


priv_level:

       * 所有庫

       *.* 所有庫的所有表

       test.* test庫下的所有表

       test1  test1表

       db_name.toutine_name 某個表的存儲過程/存儲函數


設置權限時必須給出以下信息

1,要授予的權限

2,被授予訪問權限的數據庫或表

3,用戶名


grant和revoke可以在幾個層次上控制訪問權限

1,整個云服務器,使用 grant ALL  和revoke  ALL (revolve收回權限)

2,整個數據庫,使用on  database.*

3,特點表,使用on  database.table

4,特定的列

5,特定的存儲過程

 

grant 命令 on 庫.表 to user;


>grant select, insert, update, delete on testdb.* to faker@’%’

grant 普通數據用戶,查詢、插入、更新、刪除 數據庫中所有表數據的權利。


>grant select on testdb.* to common_user@’%’


>grant insert on testdb.* to common_user@’%’


>grant update on testdb.* to common_user@’%’


>grant delete on testdb.* to common_user@’%’


或者,用一條 MySQL 命令來替代:


>grant select, insert, update, delete on testdb.* to common_user@’%’


grant 數據庫開發人員,創建表、索引、視圖、存儲過程、函數等權限。


grant 創建、修改、刪除 MySQL 數據表結構權限。


>grant create on testdb.* to developer@’192.168.0.%’;


>grant alter on testdb.* to developer@’192.168.0.%’;


>grant drop on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 外鍵權限。


>grant references on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 臨時表權限。


>grant create temporary tables on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 索引權限。


>grant index on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 視圖、查看視圖源代碼 權限。


>grant create view on testdb.* to developer@’192.168.0.%’;


>grant show view on testdb.* to developer@’192.168.0.%’;


最后

>flush privileges;

刷新權限后,可能要重新登錄才生效


刪除用戶

>drop user faker@'127.0.0.1'; 將faker用戶刪除


改用戶名

>rename user faker@'127.0.0.1' to sky@'127.0.0.1';

Query OK, 0 rows affected (0.00 sec)


權限收回

>revoke 'select' on test.my from faker@'127.0.0.1';

收回faker用戶在test庫中my表的select權限


MySQL登錄忘記密碼怎么辦?


[root@node1 ~]# vim /etc/init.d/mysqld 

1.找到下面這行

$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &


2.在上面行中加入 --skip-grant-tables(跳過認證)

3.在重啟mysqld服務

4.最后重新登錄不要密碼就可以連接上去

對于以上MySQL的用戶和權限如何管理相關內容,大家還有什么不明白的地方嗎?或者想要了解更多相關,可以繼續關注我們的行業資訊板塊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芒康县| 铁岭县| 弥渡县| 娱乐| 镇巴县| 中西区| 军事| 兴业县| 博客| 镇宁| 渝中区| 福安市| 临沂市| 普定县| 凤翔县| 商都县| 芜湖市| 吉木萨尔县| 铜陵市| 林周县| 马尔康县| 龙陵县| 铜山县| 九龙县| 临漳县| 盐山县| 牙克石市| 娄烦县| 贺兰县| 工布江达县| 当涂县| 凤冈县| 星子县| 大同市| 定兴县| 大兴区| 舞阳县| 汉沽区| 尤溪县| 景洪市| 麻江县|