欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

13. 用戶管理

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

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

13.1 用戶

?? 13.1.1 用戶信息

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

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

語法:

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

示例:

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

?? 13.1.3 刪除用戶

正確語法:

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

常見錯(cuò)誤:

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

原因:

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

?? 13.1.4 修改用戶密碼

自己改密碼:

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

root 改指定用戶密碼:

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

由于在 MySQL 中,用戶信息本質(zhì)上是存儲(chǔ)在 mysql.user 表中的,因此我們也可以直接通過 SQL 語句修改該表的內(nè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)度:

  • 密碼長度:默認(rèn)要求密碼至少為 8 個(gè)字符。
  • 字符復(fù)雜度
  • 至少包含一個(gè)大寫字母(A-Z)。
  • 至少包含一個(gè)小寫字母(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ù)雜的密碼,可以通過降低密碼策略要求來解決。執(zhí)行以下命令來臨時(shí)降低要求:

SET GLOBAL validate_password_policy  = LOW;-------------------設(shè)置密碼強(qiáng)度為低
SET GLOBAL validate_password_length = 6;----------------------設(shè)置密碼長度為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è)簡單的密碼了:

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è)置密碼長度為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)前密碼策略

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

SHOW VARIABLES LIKE 'validate_password%';

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

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

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

?? 13.2.1 授權(quán)

授權(quán)語法:

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

示例:

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

賦權(quán)前: 

賦權(quán)后:

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

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

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

撤銷語法:

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

示例:

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

?? 常見問題提示:

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

SHOW VARIABLES LIKE 'validate_password%';

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

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

flush privileges;

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

相關(guān)文章

最新評論