本文主要給大家介紹MySQL用戶及權(quán)限管理,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL用戶及權(quán)限管理吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供永川網(wǎng)站建設(shè)、永川做網(wǎng)站、永川網(wǎng)站設(shè)計(jì)、永川網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、永川企業(yè)網(wǎng)站模板建站服務(wù),十年永川做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
MySQL用戶及權(quán)限管理
MySQL 默認(rèn)管理員用戶為root,但是這個(gè)用戶權(quán)限太大,一般只在管理數(shù)據(jù)庫時(shí)候才用。為了MySQL的安全性,在實(shí)際應(yīng)用中用戶權(quán)限要最小化,應(yīng)該只分配使用到的權(quán)限。
MySQL云服務(wù)器通過MySQL權(quán)限表來控制用戶對(duì)數(shù)據(jù)庫的訪問,MySQL權(quán)限表存放在mysql數(shù)據(jù)庫里,由mysql_install_db腳本初始化。這些MySQL權(quán)限表分別user,db,table_priv,columns_priv和host。下面分別介紹一下這些表的結(jié)構(gòu)和內(nèi)容:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101' IDENDIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.%' IDENTIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
設(shè)置密碼:password1
mysqladmin -uroot -password password1
由password1修改為password2
mysqladmin -uroot -p password1 password password2
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
SET PASSWORD = PASSWORD("newpassword");
SELECT USER();
DROP USER 'username'@'host';
查看mysql的所有用戶及權(quán)限、加密密碼、最后修改密碼時(shí)間;
select host,user,password from mysql.user;
SELECT user,host,authentication_string,password_last_changed FROM mysql.user;
DESCRIBE table1;
GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION
子句 WITH GRANT OPTION表示該用戶可以為其他用戶分配權(quán)限。
GRANT all PRIVILEGES ON databasename.tablename TO 'username'@'host';
說明:
GRANT all PRIVILEGES ON databasename.tablename TO 'username'@'host' IDENTIFIED BY 'password';
說明:
例子:
GRANT ALL ON *.* TO 'pig'@'%'; GRANT ALL ON maindataplus.* TO 'pig'@'%'; GRANT SELECT,INSERT ON test.user TO 'pig'@'%';
GRANT PRIVILEGES ON databasename.tablename TO 'username'@'localhost' WITH GRANT OPTION;
說明:
grant 查詢、插入、更新、刪除MySQL 數(shù)據(jù)表結(jié)構(gòu)權(quán)限。
grant select,insert,update,delete on databasename.tablename to 'username'@'host';
grant 創(chuàng)建,卸載MySQL 數(shù)據(jù)表的權(quán)限。
grant create,drop on databasename.tablename to 'username'@'host';
grant 作用在表中的列上:
grant select(id, se, rank) on databasename.tablename to 'username'@'host';
grant 操作 MySQL 外鍵權(quán)限。
grant references on databasename.tablename to 'username'@'host';
grant 操作 MySQL 臨時(shí)表權(quán)限。
grant create temporary tables on databasename.tablename to 'username'@'host';
grant 操作 MySQL 索引權(quán)限。
grant index on databasename.tablename to 'username'@'host';
grant 操作 MySQL 視圖、查看視圖源代碼 權(quán)限。
grant create view on databasename.tablename to 'username'@'host'; grant show view on databasename.tablename to 'username'@'host';
grant 操作 MySQL 存儲(chǔ)過程、函數(shù) 權(quán)限。
grant create routine on databasename.tablename to 'username'@'host'; grant alter routine on databasename.tablename to 'username'@'host'; grant execute on databasename.tablename to 'username'@'host'; grant execute on procedure testdb.pr_add to 'dba'@'localhost'; grant execute on function testdb.fn_add to 'dba'@'localhost';
grant 普通 DBA 管理某個(gè) MySQL 數(shù)據(jù)庫的權(quán)限。
grant all privileges on databasename.* to dba@'localhost';
grant all on *.* to dba@'localhost'
修改完權(quán)限以后 一定要刷新服務(wù),或者重啟服務(wù):
FLUSH PRIVILEGES;
SHOW GRANTS [FOR 'username'@'host'];
默認(rèn)查看自己的權(quán)限,加for查看指定用戶的權(quán)限;
如果此時(shí)發(fā)現(xiàn)剛剛給的權(quán)限太大了,如果我們只是想授予它在某個(gè)數(shù)據(jù)庫上的權(quán)限,那么需要切換到root 用戶撤銷剛才的權(quán)限,重新授權(quán):
REVOKE ALL PRIVILEGES ON databasename.tablename FROM 'username'@'host';
說明:
注意:
假如你在給用戶'pig'@'%'授權(quán)的時(shí)候是這樣的(或類似的):GRANT SELECT ON test.user TO 'pig'@'%',則在使用REVOKE SELECT ON . FROM 'pig'@'%';命令并不能撤銷該用戶對(duì)test數(shù)據(jù)庫中user表的SELECT 操作。
相反,如果授權(quán)使用的是GRANT SELECT ON . TO 'pig'@'%';則REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤銷該用戶對(duì)test數(shù)據(jù)庫中user表的Select權(quán)限。
具體信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看。
推薦剛裝完mysqld服務(wù)時(shí)在shell運(yùn)行mysql_secure_installation命令
mysql_secure_installation
看完以上關(guān)于MySQL用戶及權(quán)限管理,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
當(dāng)前名稱:涉及MySQL用戶及權(quán)限管理的簡(jiǎn)單介紹
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article22/jcjjjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、微信小程序、域名注冊(cè)、全網(wǎng)營銷推廣、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)