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資料庫中進行任何操作。你得賦予用戶必要的權限。以下是一些可用的權限:
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';
mysql> SHOW GRANTS FOR 'myuser'@'localhost'; **将全部的权限赋予所有数据库/表:** mysql> GRANT ALL ON *.* TO 'myuser'@'localhost'; **你也可以将用户现有的权限删除。使用以下命令废除"myuser"帐号的现有权限:** mysql> REVOKE <privileges> ON <database>.<table> FROM 'myuser'@'localhost';
MAX_QUERIES_PER_HOUR: 允许的每小时最大请求数量 MAX_UPDATES_PER_HOUR: 允许的每小时最大更新数量 MAX_CONNECTIONS_PER_HOUR: 允许的每小时最大连接(LCTT译注:其与 MySQL全局变量: max_user_connections 共同决定用户到数据库的同时连接数量)数量 MAX_USER_CONNECTIONS: 对服务器的同时连接量
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;
mysql> SHOW GRANTS FOR 'myuser'@'localhost;
mysql> FLUSH PRIVILEGES;
以上是mysql添加用戶可訪問不了怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!