DCL-MySQL數(shù)據(jù)庫管理相關(guān)
用戶管理
相關(guān)庫: mysql
相關(guān)表:user
-
添加用戶
#通過MySQL自帶的DCL語句創(chuàng)建用戶 CREATE USER '用戶名'@'主機(jī)名' IDENTIFIED BY '用戶密碼'; #例: CREATE USER 'admin'@'%' IDENTIFIED BY 'admin'; #創(chuàng)建一個(gè)賬戶為admin,密碼為admin,可遠(yuǎn)程或者本地登錄的賬戶 -
查詢用戶
#切換至mysql庫 use mysql; #用戶查詢 SELECT * FROM user;字段解析:
Host指該用戶能在哪些主機(jī)中登錄(比如: 是否可以遠(yuǎn)程或者只能本地登錄等)。 常用有以下幾種值:-
localhost只能本地登錄到數(shù)據(jù)庫 -
%可在任意(本地或遠(yuǎn)程)主機(jī)上登錄數(shù)據(jù)庫
-
-
刪除用戶
# 刪除用戶 DROP USER '用戶名'@'主機(jī)名'; #例: DROP USER 'admin'@'%' #刪除一個(gè)可在任何位置登錄數(shù)據(jù)的admin賬戶 -
修改用戶密碼
#修改密碼: MySQL5.7之前的版本 UPDATE USER SET PASSWORD=PASSWORD('新密碼') WHERE USER='用戶名' #修改密碼: MySQL5.7之后版本: 經(jīng)測(cè)試,貌似沒效果 UPDATE USER SET authentication_string=PASSWORD('新密碼') WHERE USER='用戶名' # 使用DCL語法 SET PASSWORD FOR '用戶名'@'主機(jī)名' = PASSWORD('新密碼'); -
密碼忘記情況下,修改密碼操作如下
windows下: 1. 第一步,停止MySQL服務(wù)(需要管理員運(yùn)行終端) net stop [mysql服務(wù)名] 2. 第二步,使用無驗(yàn)證方式啟動(dòng)MySQL服務(wù): mysqld --skip-grant-tables 3. 第三步,打開新終端窗口,直接輸入mysql命令后回車(不需要登錄驗(yàn)證的相關(guān)參數(shù)),便可直接進(jìn)入至MySQL客戶端中。 4. 第四步,直接使用修改用戶密碼的語句修改用戶密碼。 5. 關(guān)閉窗口,手動(dòng)結(jié)束mysqld.exe進(jìn)程 6. 重啟mysql服務(wù)器
授權(quán)管理
-
查詢權(quán)限
#查詢權(quán)限 SHOW GRANTS FOR '用戶名'@'主機(jī)名'; -
授予權(quán)限
#授予權(quán)限 GRANT 權(quán)限列表 ON 數(shù)據(jù)庫名.表名 TO '用戶名'@'主機(jī)名'; #例如: 給已存在的admin用戶(任何主機(jī)下)添加可查詢?nèi)繑?shù)據(jù)庫、可操作的全部權(quán)限 GRANT ALL ON *.* TO 'admin'@'%';
-
撤銷權(quán)限
#撤銷權(quán)限 REVOKE 權(quán)限列表 ON 數(shù)據(jù)庫名.表名 FROM '用戶名'@'主機(jī)名'; #注: 之前授權(quán)的數(shù)據(jù)庫名.表名需要一致(目前測(cè)試是這樣)