」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > MySQL 終端機:登入、使用者和權限

MySQL 終端機:登入、使用者和權限

發佈於2024-11-02
瀏覽:644

MySQL Terminal: Login, Users and Permissions

存取MySQL

sudo mysql -u root -p 

sudo mysql -u root -p 指令用於以具有管理權限的 root 使用者身分存取 MySQL。運行命令後,會提示輸入MySQL root用戶密碼。

  • sudo:以超級使用者權限執行指令。
  • mysql: 啟動 MySQL 用戶端。
  • -u root:指定您以「root」使用者身分連線。
  • -p:請求MySQL詢問指定使用者的密碼。

如果沒有為MySQL root使用者設定密碼,指令可能會失敗。如果是這種情況,您可以設定密碼或不使用 -p(無密碼)選項存取 MySQL。

建立一個新用戶

SQL CREATE USER 指令用於在 MySQL 中使用使用者名稱和密碼建立新使用者。

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
  • 使用者名稱:您正在建立的新使用者的名稱。
  • localhost:指定使用者只能從執行 MySQL 的伺服器連線到 MySQL。如果要允許遠端連接,可以將 localhost 替換為 % 或特定的 IP 位址。
  • 密碼:將與該使用者關聯的密碼。

建立使用者後,需要為其授予權限。

授予使用者權限

  • 授予資料庫的所有權限

如果要授予特定資料庫的所有權限,請使用:

GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'localhost';
  • 特定權限

也可以指定權限,如SELECT、INSERT、UPDATE、DELETE等

GRANT permission ON database_name.* TO 'user_name'@'localhost';
  • 特定表的權限

僅授予特定表格的權限

GRANT ALL PRIVILEGES ON database_name.table_name TO 'user_name'@'localhost';
  • 授予全域權限

授予所有資料庫的權限

GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'localhost';
  • 允許使用者授予其他使用者權限
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'localhost' WITH GRANT OPTION;

更新權限

FLUSH PRIVILEGES 指令用於在 MySQL 中重新載入權限表,使您對使用者權限所做的變更生效,無論是使用 GRANT、REVOKE 或 CREATE USER 指令。

FLUSH PRIVILEGES;

檢查權限

SHOW GRANTS FOR 'username'@'localhost';

SHOW GRANTS FOR username'@'localhost;指令顯示與 MySQL 中指定使用者關聯的權限。它對於檢查使用者對資料庫擁有的權限很有用。

撤銷權限

REVOKE指令用於刪除MySQL中使用者的特定權限。

REVOKE ALL PRIVILEGES ON database_name.* FROM 'user_name'@'localhost';
  • 撤銷權限後,使用者仍然存在,但在指定資料庫中沒有權限。
  • 建議在撤銷權限後執行 FLUSH PRIVILEGES 命令,以確保變更立即套用。

列出用戶

SELECT User, Host FROM mysql.user;

SELECT User, Host FROM mysql.user;指令用於查詢MySQL中的mysql.user表,該表儲存了系統中建立的所有使用者的資訊。

了解哪個用戶已連接

SELECT USER();

選擇使用者(); MySQL 中的指令傳回您在目前工作階段中使用的使用者名稱和主機名稱。它是一個顯示使用哪個使用者帳號連接到資料庫的函數,格式為 user@host.

版本聲明 本文轉載於:https://dev.to/xxzeroxx/mysql-terminal-login-users-and-permissions-53ie?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何檢查對像是否具有Python中的特定屬性?
    如何檢查對像是否具有Python中的特定屬性?
    方法來確定對象屬性存在尋求一種方法來驗證對像中特定屬性的存在。考慮以下示例,其中嘗試訪問不確定屬性會引起錯誤: >>> a = someClass() >>> A.property Trackback(最近的最新電話): 文件“ ”,第1行, AttributeError: SomeClass...
    程式設計 發佈於2025-05-20
  • 在程序退出之前,我需要在C ++中明確刪除堆的堆分配嗎?
    在程序退出之前,我需要在C ++中明確刪除堆的堆分配嗎?
    在C中的顯式刪除 在C中的動態內存分配時,開發人員通常會想知道是否有必要在heap-procal extrable exit exit上進行手動調用“ delete”操作員,但開發人員通常會想知道是否需要手動調用“ delete”操作員。本文深入研究了這個主題。 在C主函數中,使用了動態分配變量(...
    程式設計 發佈於2025-05-20
  • 反射動態實現Go接口用於RPC方法探索
    反射動態實現Go接口用於RPC方法探索
    在GO 使用反射來實現定義RPC式方法的界面。例如,考慮一個接口,例如:鍵入myService接口{ 登錄(用戶名,密碼字符串)(sessionId int,錯誤錯誤) helloworld(sessionid int)(hi String,錯誤錯誤) } 替代方案而不是依靠反射...
    程式設計 發佈於2025-05-20
  • eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    稱量()和ast.literal_eval()中的Python Security 在使用用戶輸入時,必須優先確保安全性。強大的Python功能Eval()通常是作為潛在解決方案而出現的,但擔心其潛在風險。 This article delves into the differences betwee...
    程式設計 發佈於2025-05-20
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    刪除匿名事件偵聽器將匿名事件偵聽器添加到元素中會提供靈活性和簡單性,但是當要刪除它們時,可以構成挑戰,而無需替換元素本身就可以替換一個問題。 element? element.addeventlistener(event,function(){/在這里工作/},false); 要解決此問題,請考...
    程式設計 發佈於2025-05-20
  • 如何使用node-mysql在單個查詢中執行多個SQL語句?
    如何使用node-mysql在單個查詢中執行多個SQL語句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    程式設計 發佈於2025-05-20
  • Java中如何使用觀察者模式實現自定義事件?
    Java中如何使用觀察者模式實現自定義事件?
    在Java 中創建自定義事件的自定義事件在許多編程場景中都是無關緊要的,使組件能夠基於特定的觸發器相互通信。本文旨在解決以下內容:問題語句我們如何在Java中實現自定義事件以促進基於特定事件的對象之間的交互,定義了管理訂閱者的類界面。 以下代碼片段演示瞭如何使用觀察者模式創建自定義事件: args...
    程式設計 發佈於2025-05-20
  • 如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    為有效的slug生成首先,該函數用指定的分隔符替換所有非字母或數字字符。此步驟可確保slug遵守URL慣例。隨後,它採用ICONV函數將文本簡化為us-ascii兼容格式,從而允許更廣泛的字符集合兼容性。 接下來,該函數使用正則表達式刪除了不需要的字符,例如特殊字符和空格。此步驟可確保slug僅包...
    程式設計 發佈於2025-05-20
  • Python元類工作原理及類創建與定制
    Python元類工作原理及類創建與定制
    python中的metaclasses是什麼? Metaclasses負責在Python中創建類對象。就像類創建實例一樣,元類也創建類。他們提供了對類創建過程的控制層,允許自定義類行為和屬性。 在Python中理解類作為對象的概念,類是描述用於創建新實例或對象的藍圖的對象。這意味著類本身是使用...
    程式設計 發佈於2025-05-20
  • 圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    在chrome 在使用Chrome and IE9中的圖像時遇到的一個頻繁的問題是圍繞圖像的持續薄薄邊框,儘管指定了圖像,儘管指定了;和“邊境:無;”在CSS中。要解決此問題,請考慮以下方法: Chrome具有忽略“ border:none; none;”的已知錯誤,風格。要解決此問題,請使用以下...
    程式設計 發佈於2025-05-20
  • 大批
    大批
    [2 數組是對象,因此它們在JS中也具有方法。 切片(開始):在新數組中提取部分數組,而無需突變原始數組。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    程式設計 發佈於2025-05-20
  • 為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    The Mystery of "Broken" Two-Phase Template Instantiation in Microsoft Visual C Problem Statement:Users commonly express concerns that Micro...
    程式設計 發佈於2025-05-20
  • Java中Lambda表達式為何需要“final”或“有效final”變量?
    Java中Lambda表達式為何需要“final”或“有效final”變量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    程式設計 發佈於2025-05-20
  • Python中嵌套函數與閉包的區別是什麼
    Python中嵌套函數與閉包的區別是什麼
    嵌套函數與python 在python中的嵌套函數不被考慮閉合,因為它們不符合以下要求:不訪問局部範圍scliables to incling scliables在封裝範圍外執行範圍的局部範圍。 make_printer(msg): DEF打印機(): 打印(味精) ...
    程式設計 發佈於2025-05-20
  • 使用jQuery如何有效修改":after"偽元素的CSS屬性?
    使用jQuery如何有效修改":after"偽元素的CSS屬性?
    在jquery中了解偽元素的限制:訪問“ selector 嘗試修改“:”選擇器的CSS屬性時,您可能會遇到困難。 This is because pseudo-elements are not part of the DOM (Document Object Model) and are th...
    程式設計 發佈於2025-05-20

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3