站長資訊網
        最全最豐富的資訊網站

        總結分享MySQL中的用戶創建與權限管理

        本篇文章給大家帶來了關于mysql的相關知識,主要介紹了MySQL中的用戶創建與權限管理,文章通過圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下。

        總結分享MySQL中的用戶創建與權限管理

        推薦學習:mysql視頻教程

        一、用戶管理

        mysql庫里有個user表可以查看已經創建的用戶

        1.創建MySQL用戶

        注意:MySQL中不能單純通過用戶名來說明用戶,必須要加上主機。如hhy@10.1.1.1

        基本語法:

        mysql> create user '用戶名'@'被允許連接的主機名稱或主機的IP地址' identified by '用戶密碼'; mysql> select user,host from mysql.user;

        案例:創建一個MySQL賬號,用戶名:hhy,用戶密碼:123

        mysql> create user 'hhy'@'localhost' identified by '123'; /*或*/ mysql> create user 'hhy'@'127.0.0.1' identified by '123';

        案例:創建一個MySQL賬號(要求開通遠程連接),主機IP地址:192.1668.44.110,用戶名:test,用戶密碼:123

        mysql> create user 'test'@'192.1668.44.110' identified by '123';

        測試:在IP地址為192.168.44.110的主機上

        # yum install mysql -y # mysql -h 192.168.44.110 -P 3306 -uharry -p Enter password:123

        選項說明:192.168.44.110 :MySQL服務器端的IP地址

        yum安裝mysql:代表安裝的是MySQL的客戶端
        yum安裝mysql-server:代表安裝的是MySQL的服務器端

        案例:創建一個MySQL賬號(要求開通遠程連接),主機IP的網段:10.1.1.0,用戶名:jack,用戶密碼:123

        create user 'jack'@'192.168.44.%' identified by '123'

        案例:創建一個MySQL賬號(要求開通遠程連接),要求面向所有主機開放,用戶名:root,用戶密碼:123

        create user 'root'@'%' identified by '123';

        2. 刪除MySQL用戶

        基本用戶:

        mysql> drop user '用戶名'@'主機名稱或主機的IP地址';

        特別說明:

        如果在刪除用戶時沒有指定主機的名稱或主機的IP地址,則默認刪除這個賬號的所有信息。

        案例:刪除hhy這個賬號

        drop user 'hhy'@'localhost';

        案例:刪除jack這個賬號

        drop user 'jack'@'192.168.44.%';

        案例:創建兩個harry賬號(localhost/10.1.1.23),然后刪除其中的某個

        mysql> create user 'harry'@'localhost' identified by '123'; mysql> create user 'harry'@'192.168.44.110' identified   mysql> drop user 'harry'@'192.168.44.110';

        刪除MySQL賬號的另外一種方式

        mysql> delete from mysql.user where user='root' and host='%'; mysql> flush privileges;

        3. 修改MySQL用戶

        特別說明:MySQL用戶重命名通常可以更改兩部分,一部分是用戶的名稱,一部分是被允許訪問的主機名稱或主機的IP地址。

        基本語法:

        mysql> rename user 舊用戶信息 to 新用戶信息;

        案例:把用戶’root’@'%‘更改為’root’@‘10.1.1.%’

        mysql> rename user 'root'@'%' to 'root'@'10.1.1.%';

        案例:把’harry’@‘localhost’更名為’hhy’@‘localhost’

        mysql> create user 'tom'@'localhost' identified by '123'; mysql> rename user 'tom'@'localhost' to 'hhy'@'localhost';

        使用update語句更新用戶信息

        mysql> update mysql.user set user='hhy',host='localhost' where user='tom' and host='localhost';  mysql> flush privileges;

        二、權限管理

        1. 權限說明

        所有權限說明

        USAGE	無權限,只有登錄數據庫,只可以使用test或test_*數據庫 ALL		所有權限 以下權限為指定權限 select/update/delete/super/replication slave/reload... with grant option 選項表示允許把自己的權限授予其它用戶或者從其他用戶收回自己的權限

        默認情況下,分配權限時如果沒有指定with grant option,代表這個用戶不能下發權限給其他用戶,但是這個權限分配不能超過自身權限。

        2. 權限保存位置(了解)

        • mysql.user:所有mysql用戶的賬號和密碼,以及用戶對全庫全表權限(*.*)
        • mysql.db :非mysql庫的授權都保存在此(db.*)
        • mysql.table_priv :某庫某表的授權(db.table)
        • mysql.columns_priv :某庫某表某列的授權(db.table.col1)
        • mysql.procs_priv :某庫存儲過程的授權

        3. 給用戶授權

        創建數據庫表:

        create database java; use java; create table tb_student( 	id mediumint not null auto_increment, 	name varchar(20), 	age tinyint unsigned default 0, 	gender enum('男','女'), 	address varchar(255), 	primary key(id) ) engine=innodb default charset=utf8;  insert into tb_student values (null,'劉備',33,'男','湖北省武漢市'); insert into tb_student values (null,'貂蟬',18,'女','湖南省長沙市'); insert into tb_student values (null,'關羽',32,'男','湖北省荊州市'); insert into tb_student values (null,'大喬',20,'女','河南省漯河市'); insert into tb_student values (null,'趙云',25,'男','河北省石家莊市'); insert into tb_student values (null,'小喬',18,'女','湖北省荊州市');

        基本語法:

        mysql> grant 權限1,權限2 on 庫.表 to 用戶@主機 mysql> grant 權限(列1,列2,...) on 庫.表 to 用戶@主機

        庫.表表示方法:*.*代表所有數據庫的所有數據表,db_itheima.*代表db_itheima數據庫中的所有數據表,db_itheima.tb_admin,代表db_itheima數據庫中的tb_admin表

        案例:給thhy賬號分配java數據庫的查詢權限

        mysql> grant select on java.* to 'hehanyu'@'192.168.44.%';  mysql> flush privileges;

        案例:給hehanyu賬號分配java.tb_student數據表的權限(要求只能更改age字段)

        mysql> grant update(age) on java.tb_student to 'hehanyu'@'192.168.44.%';  mysql> flush privileges;

        案例:添加一個root@%賬號,然后分配所有權限

        create user 'root'@'%' identified by '123'; grant all on *.* to 'root'@'%'; flush privileges;

        4. 查詢用戶權限

        查詢當前用戶權限:

        mysql> show grants;

        查詢其他用戶權限:

        mysql> show grants for '用戶名稱'@'授權的主機名稱或IP地址';

        5. with grant option選項

        mysql> grant all on *.* to 'amy'@'10.1.1.%' identified by '123' with grant option; mysql> grant all on *.* to 'harry'@'10.1.1.%' identified by '123';

        如以上命令所示:amy擁有下發權限的功能,而harry不具備下發權限的功能。

        如果grant授權時沒有with grant option選項,則其無法為其他用戶授權。

        6.revoke回收權限

        基本語法:

        revoke 權限 on 庫.表 from 用戶; 查看hehanyu用戶權限 mysql> show grants for 'hehanyu'@'192.168.44.%'; 撤消指定的權限 mysql> revoke update on java.tb_student from 'tom'@'192.168.44.%'; 撤消所有的權限 mysql> revoke select on java.* from 'tom'@'192.168.44.%';

        推薦學習:mysql視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 欧美亚洲成人精品| 精品无码一区在线观看| 日韩精品无码一区二区中文字幕 | 久久精品国产第一区二区| 国产精品女同一区二区| 亚洲精品综合久久| 国产精品自产拍高潮在线观看| 国产精品国产精品国产专区不卡 | 国产精品亲子乱子伦xxxx裸| 中文字幕乱码中文乱码51精品| 国产精品秘入口福利姬网站| 国产精品九九九久久九九| 久久国产精品无码一区二区三区 | 精品91自产拍在线观看| 热久久这里只有精品| 成人区人妻精品一区二区不卡网站 | 麻豆国产精品VA在线观看不卡| 99久久婷婷国产综合精品草原| 99热精品在线观看| jiucao在线观看精品| 国内精品人妻无码久久久影院| 中文字幕日韩精品无码内射| 一区二区三区精品高清视频免费在线播放 | 四虎国产精品永久地址99新强| 999国内精品永久免费观看| 日本aⅴ精品中文字幕| 亚洲高清专区日韩精品| 亚洲国产精品无码久久SM| 亚洲精品线路一在线观看| 亚洲精品国产综合久久一线| 青青草97国产精品免费观看| 欧美成人精品高清视频在线观看| 九九线精品视频在线观看| 久久精品国产WWW456C0M| 欧美成人精品高清在线播放| 少妇亚洲免费精品| 无码人妻精品一区二| 亚洲线精品一区二区三区| 日韩精品久久无码中文字幕| 久久99精品久久久久婷婷| 99精品无人区乱码在线观看|