mysql添加用戶可訪問不了的解決辦法:首先以管理員身份登錄到MySQL服務器中,創建一個MySQL用戶;然后賦予MySQL用戶權限,并運行以下命令賦予”myuser”用戶特定權限;最后為用戶添加資源限制,并驗證即可。
更多相關免費學習推薦: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>?GRANT?<privileges>?ON?<database>.<table>?TO?'myuser'@'localhost'; ??以上命令中,<privileges>?代表著用逗號分隔的權限列表。如果你想要將權限賦予任意數據庫(或表),那么使用星號(*)來代替數據庫(或表)的名字。 ??例如,為所有數據庫/表賦予?CREATE?和?INSERT?權限: ??mysql>?GRANT?CREATE,?INSERT?ON?*.*?TO?'myuser'@'localhost';<p><strong>驗證給用戶賦予的全權限:</strong></p><pre class="brush:php;toolbar:false">mysql>?SHOW?GRANTS?FOR?'myuser'@'localhost'; ??**將全部的權限賦予所有數據庫/表:** ??mysql>?GRANT?ALL?ON?*.*?TO?'myuser'@'localhost'; ??**你也可以將用戶現有的權限刪除。使用以下命令廢除"myuser"帳號的現有權限:** ??mysql>?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>?GRANT?USAGE?ON?<database>.<table>?TO?'myuser'@'localhost'?WITH?<resource-limits>; ??在?<resource-limits>?中你可以指定多個使用空格分隔開的資源限制。 ??例如,增加?MAXQUERIESPERHOUR?和?MAXCONNECTIONSPERHOUR?資源限制: ??mysql>?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>?SHOW?GRANTS?FOR?'myuser'@'localhost;
創建和設置一個MySQL用戶最后的一個重要步驟:
??mysql>?FLUSH?PRIVILEGES;
如此一來更改便生效了?,F在MySQL用戶帳號就可以使用了。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦