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

mysql用戶管理和權限設置方式

 更新時間:2024年08月09日 09:22:44   作者:哦...  
這篇文章主要介紹了mysql用戶管理和權限設置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

mysql用戶管理和權限設置

MYSQL到底都有哪些權限呢?

從官網(wǎng)復制一個表來看看:

權限

權限級別

權限說明

CREATE

數(shù)據(jù)庫、表或索引

創(chuàng)建數(shù)據(jù)庫、表或索引權限

DROP

數(shù)據(jù)庫或表

刪除數(shù)據(jù)庫或表權限

GRANT OPTION

數(shù)據(jù)庫、表或保存的程序

賦予權限選項

REFERENCES

數(shù)據(jù)庫或表

ALTER

更改表,比如添加字段、索引等

DELETE

刪除數(shù)據(jù)權限

INDEX

索引權限

INSERT

插入權限

SELECT

查詢權限

UPDATE

更新權限

CREATE VIEW

視圖

創(chuàng)建視圖權限

SHOW VIEW

視圖

查看視圖權限

ALTER ROUTINE

存儲過程

更改存儲過程權限

CREATE ROUTINE

存儲過程

創(chuàng)建存儲過程權限

EXECUTE

存儲過程

執(zhí)行存儲過程權限

FILE

服務器主機上的文件訪問

文件訪問權限

CREATE TEMPORARY TABLES

服務器管理

創(chuàng)建臨時表權限

LOCK TABLES

服務器管理

鎖表權限

CREATE USER

服務器管理

創(chuàng)建用戶權限

PROCESS

服務器管理

查看進程權限

RELOAD

服務器管理

執(zhí)行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的權限

REPLICATION CLIENT

服務器管理

復制權限

REPLICATION SLAVE

服務器管理

復制權限

SHOW DATABASES

服務器管理

查看數(shù)據(jù)庫權限

SHUTDOWN

服務器管理

關閉數(shù)據(jù)庫權限

SUPER

服務器管理

執(zhí)行kill線程權限

MYSQL的權限如何分布,就是針對表可以設置什么權限,針對列可以設置什么權限等等

這個可以從官方文檔中的一個表來說明:

權限分布

可能的設置的權限

表權限

'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'

列權限

'Select', 'Insert', 'Update', 'References'

過程權限

'Execute', 'Alter Routine', 'Grant'

MySQL權限經驗原則

權限控制主要是出于安全因素,因此需要遵循一下幾個經驗原則:

  • 1、只授予能滿足需要的最小權限,防止用戶干壞事。比如用戶只是需要查詢,那就只給select權限就可以了,不要給用戶賦予update、insert或者delete權限。
  • 2、創(chuàng)建用戶的時候限制用戶的登錄主機,一般是限制成指定IP或者內網(wǎng)IP段。
  • 3、初始化數(shù)據(jù)庫的時候刪除沒有密碼的用戶。安裝完數(shù)據(jù)庫的時候會自動創(chuàng)建一些用戶,這些用戶默認沒有密碼。
  • 4、為每個用戶設置滿足密碼復雜度的密碼。
  • 5、定期清理不需要的用戶?;厥諜嘞藁蛘邉h除用戶。

MySQL權限實戰(zhàn)

1. 創(chuàng)建用戶

命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

說明:

  • username:你將創(chuàng)建的用戶名
  • host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
  • password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器

例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

2. 授權

命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

說明:

  • privileges:用戶的操作權限,如SELECT,INSERTUPDATE等,如果要授予所的權限則使用ALL
  • databasename:數(shù)據(jù)庫名
  • tablename:表名,如果要授予該用戶對所有數(shù)據(jù)庫和表的相應操作權限則可用*表示,如*.*

例子:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

需要注意的是:

用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

3. 設置與更改用戶密碼

命令:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是當前登錄用戶用:

SET PASSWORD = PASSWORD("newpassword");

例子:

SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

需要注意的是,從MySQL 5.7.6版本開始,MySQL不推薦使用此語法,會在將來的版本中將PASSWORD函數(shù)刪除。

作為代替的解決方案,在8.0版本中直接使用明文密碼:

SET PASSWORD FOR 'pig'@'%' = 'newpasswd2';

4. 撤銷用戶權限

命令:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

說明:

privilege, databasename, tablename:同授權部分

例子:

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意:

假如你在給用戶'pig'@'%'授權的時候是這樣的(或類似的):

GRANT SELECT ON test.user TO 'pig'@'%'

則在使用

REVOKE SELECT ON *.* FROM 'pig'@'%';

命令并不能撤銷該用戶對test數(shù)據(jù)庫中user表的SELECT 操作。

相反,如果授權使用的是

GRANT SELECT ON *.* TO 'pig'@'%';

REVOKE SELECT ON test.user FROM 'pig'@'%';

命令也不能撤銷該用戶對test數(shù)據(jù)庫中user表的Select權限。

具體信息可以用命令

SHOW GRANTS FOR 'pig'@'%'; 

查看。

5. 刪除用戶

命令:

DROP USER 'username'@'host';

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • mysql服務器無法啟動的解決方法

    mysql服務器無法啟動的解決方法

    本文主要介紹了mysql服務器無法啟動的解決方法,mysql服務器無法啟動時,一般時配置文件和路徑的問題,下面就來介紹一下解決方法,感興趣的可以了解一下
    2023-09-09
  • 使用xshell實現(xiàn)代理功能并navicat?for?MySQL?進行測試

    使用xshell實現(xiàn)代理功能并navicat?for?MySQL?進行測試

    本文介紹使用xshell實現(xiàn)代理功能并使用navicat?for?MySQL進行測試,文章主要利用SSH連接工具xshell就可以實現(xiàn)簡單的代理功能,下面實現(xiàn)過程,需要的小伙伴可以參考一下
    2022-02-02
  • MySQL每天自動增加分區(qū)的實現(xiàn)

    MySQL每天自動增加分區(qū)的實現(xiàn)

    本文主要介紹了MySQL每天自動增加分區(qū)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • MySQL 綠色版安裝方法圖文教程

    MySQL 綠色版安裝方法圖文教程

    MySQL 綠色版安裝方法教程,需要的朋友可以參考下。
    2012-01-01
  • Mysql普通索引與唯一索引的選擇詳析

    Mysql普通索引與唯一索引的選擇詳析

    這篇文章主要給大家介紹了關于Mysql普通索引與唯一索引的選擇的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Redis與MySQL的雙寫一致性問題

    Redis與MySQL的雙寫一致性問題

    這篇文章只要介紹了Redis與MySQL雙寫一致性,主要是指在使用緩存和數(shù)據(jù)庫同時存儲數(shù)據(jù)的場景下( 主要是存在高并發(fā)的情況),如何保證兩者的數(shù)據(jù)一致性(內容相同或者盡可能接近),感興趣的同學可以借鑒一下
    2023-03-03
  • Mysql my.cnf配置文件參數(shù)詳解

    Mysql my.cnf配置文件參數(shù)詳解

    Linux 操作系統(tǒng)中 MySQL 的配置文件是 my.cnf,一般會放在 /etc/my.cnf 或 /etc/mysql/my.cnf 目錄下,這篇文章主要介紹了Mysql my.cnf配置文件參數(shù)詳解,需要的朋友可以參考下
    2023-11-11
  • MySql超詳細講解表的用法

    MySql超詳細講解表的用法

    這篇文章主要為大家詳細介紹了MySQL數(shù)據(jù)庫中表常用的一些操作方法,文中的示例代碼講解詳細, 對我們學習MySQL有一定幫助,需要的可以參考一下
    2022-09-09
  • MySql開發(fā)之自動同步表結構

    MySql開發(fā)之自動同步表結構

    這篇文章主要給大家介紹了關于MySql開發(fā)之自動同步表結構的相關資料,這樣可以避免在開發(fā)中由于修改數(shù)據(jù)庫字段導致的數(shù)據(jù)庫表不一致問題,需要的朋友可以參考下
    2021-05-05
  • mysql的in會不會讓索引失效?

    mysql的in會不會讓索引失效?

    今天小編就為大家分享一篇關于mysql的in會不會讓索引失效?,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04

最新評論