亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql中的用戶(hù)管理實(shí)踐

 更新時(shí)間:2025年05月28日 15:04:42   作者:貓咪-9527  
這篇文章主要介紹了Mysql中的用戶(hù)管理實(shí)踐,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

13. 用戶(hù)管理

為什么不能只用 root: 出于安全考慮,不應(yīng)該所有操作都由 root 執(zhí)行。

MySQL 的用戶(hù)信息存儲(chǔ)位置: mysql.user 表。

13.1 用戶(hù)

?? 13.1.1 用戶(hù)信息

  • 用戶(hù)表字段解釋?zhuān)?ul>
  • host: 可以從哪臺(tái)主機(jī)登錄。
  • user: 用戶(hù)名。
  • authentication_string: 加密后的密碼。
  • *_priv: 用戶(hù)權(quán)限。
select User,Host,authentication_string from user;

?? 13.1.2 創(chuàng)建用戶(hù)

語(yǔ)法:

create user '用戶(hù)名'@'主機(jī)名' identified by '密碼';

示例:

create user 'maomi-9527'@'localhost' identified by '666888';

?? 13.1.3 刪除用戶(hù)

正確語(yǔ)法:

drop user '用戶(hù)名'@'主機(jī)名';

常見(jiàn)錯(cuò)誤:

drop user maomi-9527; -- 錯(cuò)誤,因?yàn)橹鳈C(jī)名默認(rèn)是 %

原因:

mysql可以創(chuàng)建兩個(gè)相同用戶(hù)相同密碼但登錄地點(diǎn)不一樣的用戶(hù):

?? 13.1.4 修改用戶(hù)密碼

自己改密碼:

set password = password('新密碼');

root 改指定用戶(hù)密碼:

set password for 'maomi-9527'@'localhost' = password('666888');

由于在 MySQL 中,用戶(hù)信息本質(zhì)上是存儲(chǔ)在 mysql.user 表中的,因此我們也可以直接通過(guò) SQL 語(yǔ)句修改該表的內(nèi)容來(lái)重設(shè)密碼。例如:

UPDATE user SET authentication_string = PASSWORD('你的新密碼') WHERE user = 'root' AND host = 'localhost';

?? 13.1.5 密碼策略要求

MySQL 8.0+ 版本默認(rèn)啟用了 validate_password 插件,它會(huì)根據(jù)以下規(guī)則檢查密碼強(qiáng)度:

  • 密碼長(zhǎng)度:默認(rèn)要求密碼至少為 8 個(gè)字符。
  • 字符復(fù)雜度
  • 至少包含一個(gè)大寫(xiě)字母(A-Z)。
  • 至少包含一個(gè)小寫(xiě)字母(a-z)。
  • 至少包含一個(gè)數(shù)字(0-9)。
  • 至少包含一個(gè)特殊字符(例如 @, #, $, %)。

1. 設(shè)置一個(gè)更強(qiáng)的密碼

你可以設(shè)置一個(gè)符合強(qiáng)度要求的密碼,例如:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

或者:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Str0ngP@ssw0rd!';

2. 臨時(shí)降低密碼策略要求

如果你不想設(shè)置那么復(fù)雜的密碼,可以通過(guò)降低密碼策略要求來(lái)解決。執(zhí)行以下命令來(lái)臨時(shí)降低要求:

SET GLOBAL validate_password_policy  = LOW;-------------------設(shè)置密碼強(qiáng)度為低
SET GLOBAL validate_password_length = 6;----------------------設(shè)置密碼長(zhǎng)度為6
SET GLOBAL validate_password_mixed_case_count = 0;------------設(shè)置混合字符為0
SET GLOBAL validate_password_special_char_count = 0;  --------設(shè)置特殊字符個(gè)數(shù)為0

然后,你就可以設(shè)置一個(gè)簡(jiǎn)單的密碼了:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'simplepass';

注意: 降低密碼策略可能會(huì)影響安全性,操作完成后可以將策略恢復(fù):

SET GLOBAL validate_password_policy  = MEDIUM;-------------------設(shè)置密碼強(qiáng)度為低
SET GLOBAL validate_password_length = 8;----------------------設(shè)置密碼長(zhǎng)度為6
SET GLOBAL validate_password_mixed_case_count = 1;------------設(shè)置混合字符為0
SET GLOBAL validate_password_special_char_count = 1;  --------設(shè)置特殊字符個(gè)數(shù)為0

3. 查看當(dāng)前密碼策略

你可以通過(guò)以下命令查看當(dāng)前密碼策略的設(shè)置:

SHOW VARIABLES LIKE 'validate_password%';

13.2 數(shù)據(jù)庫(kù)的權(quán)限

?? 常見(jiàn)權(quán)限:

select, insert, update, delete, create, drop, grant, all 等。

?? 13.2.1 授權(quán)

授權(quán)語(yǔ)法:

grant 權(quán)限列表 on 數(shù)據(jù)庫(kù).表 to '用戶(hù)名'@'主機(jī)' [identified by '密碼'];

示例:

grant select on text.* to 'maomi-9527'@'localhost';------給用戶(hù)在test數(shù)據(jù)庫(kù)中所有表的查看權(quán)限

賦權(quán)前: 

賦權(quán)后:

查看當(dāng)前權(quán)限:

show grants for 'maomi-9527'@'localhost';

?? 13.2.2 回收權(quán)限

撤銷(xiāo)語(yǔ)法:

revoke 權(quán)限列表 on 數(shù)據(jù)庫(kù).對(duì)象 from '用戶(hù)名'@'主機(jī)';

示例:

revoke select on text.* from 'maomi-9527'@'localhost';

?? 常見(jiàn)問(wèn)題提示:

若密碼設(shè)置失敗報(bào)錯(cuò) ERROR 1819

SHOW VARIABLES LIKE 'validate_password%';

可調(diào)整密碼策略來(lái)解決。

賦權(quán)后無(wú)效時(shí)建議:

flush privileges;

到此這篇關(guān)于Mysql中的用戶(hù)管理的文章就介紹到這了,更多相關(guān)mysql用戶(hù)管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論