mysql添加用戶可訪問不了怎么辦

mysql添加用戶可訪問不了的解決辦法:首先以管理員身份登錄到MySQL服務器中,創建一個MySQL用戶;然后賦予MySQL用戶權限,并運行以下命令賦予”myuser”用戶特定權限;最后為用戶添加資源限制,并驗證即可。

mysql添加用戶可訪問不了怎么辦

更多相關免費學習推薦:mysql教程(視頻)

mysql添加用戶可訪問不了的解決辦法:

首先以管理員身份登錄到MySQL服務器中。

$ mysql -u root -p

查看有曾經創建的用戶

SELECT host, user FROM mysql.user;

創建一個MySQL用戶

??創建一個用戶名和密碼分別為"myuser"和"mypassword"的用戶,可訪問地址為%所有,也可以設定ip或者localhost。 ??mysql>?CREATE?USER?'myuser'@'%'?IDENTIFIED?BY?'mypassword'; ??用戶被創建后,包括加密的密碼、權限和資源限制在內的所有帳號細節都會被存儲在mysql這個庫的user的表中。 ?**?運行下列命令,驗證帳號是否創建成功** ??mysql>?SELECT?host,?user,?password?FROM?mysql.user?WHERE?user='myuser';

賦予MySQL用戶權限

一個新建的MySQL用戶沒有任何訪問權限,這就意味著你不能在MySQL數據庫中進行任何操作。你得賦予用戶必要的權限。以下是一些可用的權限:

  • ALL: 所有可用的權限

  • CREATE: 創建庫、表和索引

  • LOCK_TABLES: 鎖定表

  • ALTER: 修改表

  • DELETE: 刪除表

  • INSERT: 插入表或列

  • SELECT: 檢索表或列的數據

  • CREATE_VIEW: 創建視圖

  • SHOW_DATABASES: 列出數據庫

  • DROP: 刪除庫、表和視圖

運行以下命令賦予”myuser”用戶特定權限。

mysql&gt;?GRANT?<privileges>?ON?<database>.<table>?TO?'myuser'@'localhost'; ??以上命令中,<privileges>?代表著用逗號分隔的權限列表。如果你想要將權限賦予任意數據庫(或表),那么使用星號(*)來代替數據庫(或表)的名字。 ??例如,為所有數據庫/表賦予?CREATE?和?INSERT?權限: ??mysql&gt;?GRANT?CREATE,?INSERT?ON?*.*?TO?'myuser'@'localhost';<p><strong>驗證給用戶賦予的全權限:</strong></p><pre class="brush:php;toolbar:false">mysql&gt;?SHOW?GRANTS?FOR?'myuser'@'localhost'; ??**將全部的權限賦予所有數據庫/表:** ??mysql&gt;?GRANT?ALL?ON?*.*?TO?'myuser'@'localhost'; ??**你也可以將用戶現有的權限刪除。使用以下命令廢除"myuser"帳號的現有權限:** ??mysql&gt;?REVOKE?<privileges>?ON?<database>.<table>?FROM?'myuser'@'localhost';<p><strong>為用戶添加資源限制</strong></p> <p>在MySQL中,你可以為單獨的用戶設置MySQL的資源使用限制。可用的資源限制如下:</p> <pre class="brush:php;toolbar:false">MAX_QUERIES_PER_HOUR:?允許的每小時最大請求數量 ??MAX_UPDATES_PER_HOUR:?允許的每小時最大更新數量 ??MAX_CONNECTIONS_PER_HOUR:?允許的每小時最大連接(LCTT譯注:其與?MySQL全局變量:?max_user_connections?共同決定用戶到數據庫的同時連接數量)數量 ??MAX_USER_CONNECTIONS:?對服務器的同時連接量

使用以下命令為”myuser”帳號增加一個資源限制:

mysql&gt;?GRANT?USAGE?ON?<database>.<table>?TO?'myuser'@'localhost'?WITH?<resource-limits>; ??在?<resource-limits>?中你可以指定多個使用空格分隔開的資源限制。 ??例如,增加?MAXQUERIESPERHOUR?和?MAXCONNECTIONSPERHOUR?資源限制: ??mysql&gt;?GRANT?USAGE?ON?*.*?TO?'myuser'@'localhost'?WITH?MAX_QUERIES_PER_HOUR?30?MAX_CONNECTIONS_PER_HOUR?6;<p><strong>驗證用戶的資源限制:</strong></p> <pre class="brush:php;toolbar:false">??mysql&gt;?SHOW?GRANTS?FOR?'myuser'@'localhost;

創建和設置一個MySQL用戶最后的一個重要步驟:

??mysql&gt;?FLUSH?PRIVILEGES;

如此一來更改便生效了?,F在MySQL用戶帳號就可以使用了。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享