MySQL使用者權限管理實例詳解
這篇文章主要為大家詳細介紹了MySQL使用者權限管理的相關資料,有興趣的小夥伴們可以參考一下
使用者權限管理主要有以下作用:
1. 可以限制使用者存取哪些庫、哪些表
2. 可以限制使用者對哪些表執行SELECT、CREATE、DELETE、DELETE、ALTER等操作
3. 可以限制用戶登入的IP或網域名稱
4. 可以限制使用者自己的權限是否可以授權給別的使用者
一、使用者授權
程式碼如下:
mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;
•all privileges:表示將所有權限授予使用者。也可指定具體的權限,如:SELECT、CREATE、DROP等。
•on:表示這些權限對哪些資料庫和表格生效,格式:資料庫名稱.表名,這裡寫「*」表示所有資料庫,所有表。如果我要指定將權限套用到test函式庫的user表中,可以這樣寫:test.user
•to:將權限授予哪個使用者。格式:”用戶名”@”登入IP或網域”。 %表示沒有限制,在任何主機都可以登入。例如:”yangxin”@”192.168.0.%”,表示yangxin這個用戶只能在192.168.0IP段登入
•identified by:#指定用戶的登入密碼
•with grant option:表示允許使用者將自己的權限授權給其它使用者
可以使用GRANT為使用者新增權限,權限會自動疊加,不會覆蓋先前授予的權限,例如你先給用戶添加一個SELECT權限,後來又為用戶添加了一個INSERT權限,那麼該用戶就同時擁有了SELECT和INSERT權限。
使用者詳情的權限清單請參考MySQL官網說明:http://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html
二、刷新權限
#對使用者做了權限變更之後,一定記得重新載入權限,將權限資訊從記憶體中寫入資料庫。
mysql> flush privileges;
#三、檢視使用者權限
## 程式碼如下:mysql> grant select,create,drop,update,alter on *.* to 'yangxin'@'localhost' identified by 'yangxin0917' with grant option; mysql> show grants for 'yangxin'@'localhost';
四、回收權限
刪除yangxin這個使用者的create權限,該使用者將無法建立資料庫和表格。
mysql> revoke create on *.* from 'yangxin@localhost'; mysql> flush privileges;
五、刪除使用者
mysql> select host,user from user; +---------------+---------+ | host | user | +---------------+---------+ | % | root | | % | test3 | | % | yx | | 192.168.0.% | root | | 192.168.0.% | test2 | | 192.168.0.109 | test | | ::1 | yangxin | | localhost | yangxin | +---------------+---------+ 8 rows in set (0.00 sec) mysql> drop user 'yangxin'@'localhost';
#六、使用者重新命名
shell> rename user 'test3 '@'%' to 'test1'@'%';
七、修改密碼
##1> 更新mysql. user表 2> 用set password指令 set password for '使用者名稱'@'登入位址'=password('密碼')
3> mysqladmin mysqladmin -u使用者名稱-p舊的密碼password 新密碼 注意:
##八、忘記密碼 1> 新增登入跳過權限檢查設定 修改my.cnf,在mysqld配置節點中加入skip-grant-tables配置 [mysqld] ##2> 重新啟動mysql服務 3> 修改密碼 4> 還原登入權限跳過檢查設定 #將my.cnf中mysqld節點的skip-grant-tables設定刪除,然後重新啟動服務即可。 以上是MySQL使用者權限管理實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!mysql> use mysql;
# mysql5.7之前
mysql> update user set password=password('123456') where user='root';
# mysql5.7之后
mysql> update user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
skip-grant-tables
#

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

MySQL適合初學者使用,因為它安裝簡單、功能強大且易於管理數據。 1.安裝和配置簡單,適用於多種操作系統。 2.支持基本操作如創建數據庫和表、插入、查詢、更新和刪除數據。 3.提供高級功能如JOIN操作和子查詢。 4.可以通過索引、查詢優化和分錶分區來提升性能。 5.支持備份、恢復和安全措施,確保數據的安全和一致性。

Navicat本身不存儲數據庫密碼,只能找回加密後的密碼。解決辦法:1. 檢查密碼管理器;2. 檢查Navicat的“記住密碼”功能;3. 重置數據庫密碼;4. 聯繫數據庫管理員。

使用 Navicat Premium 創建數據庫:連接到數據庫服務器並輸入連接參數。右鍵單擊服務器並選擇“創建數據庫”。輸入新數據庫的名稱和指定字符集和排序規則。連接到新數據庫並在“對象瀏覽器”中創建表。右鍵單擊表並選擇“插入數據”來插入數據。

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

MySQL和SQL是開發者必備技能。 1.MySQL是開源的關係型數據庫管理系統,SQL是用於管理和操作數據庫的標準語言。 2.MySQL通過高效的數據存儲和檢索功能支持多種存儲引擎,SQL通過簡單語句完成複雜數據操作。 3.使用示例包括基本查詢和高級查詢,如按條件過濾和排序。 4.常見錯誤包括語法錯誤和性能問題,可通過檢查SQL語句和使用EXPLAIN命令優化。 5.性能優化技巧包括使用索引、避免全表掃描、優化JOIN操作和提升代碼可讀性。

Navicat for MariaDB 無法直接查看數據庫密碼,因為密碼以加密形式存儲。為確保數據庫安全,有三個方法可重置密碼:通過 Navicat 重置密碼,設置複雜密碼。查看配置文件(不推薦,風險高)。使用系統命令行工具(不推薦,需要對命令行工具精通)。

可在 Navicat 中通過以下步驟新建 MySQL 連接:打開應用程序並選擇“新建連接”(Ctrl N)。選擇“MySQL”作為連接類型。輸入主機名/IP 地址、端口、用戶名和密碼。 (可選)配置高級選項。保存連接並輸入連接名稱。

可以通過以下步驟打開 phpMyAdmin:1. 登錄網站控制面板;2. 找到並點擊 phpMyAdmin 圖標;3. 輸入 MySQL 憑據;4. 點擊 "登錄"。
