異機遠程連接mysql時user表內的用戶權限設置

默認情況下Linux內的mysql數據庫mysql,user表內的用戶權限只是對localhost即本機才能登陸。需要更改權限:
如下的方式確認:
root#mysql -h localhost-u mysql -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.20a-debug
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql; (此DB存放MySQL的各種配置信息)
Database changed
mysql> select host,user from user; (查看用戶的權限情況)
+-------------+-------+
| host | user |
+-------------+-------+
| localhost | |
| localhost | root |
| localhost | |
| localhost | mysql |
+-------------+-------+
6 rows in set (0.02 sec)
由此可以看出,只能以localhost的主機方式訪問。
解決方法:

mysql> Grant all privileges on *.* to 'root'@'%' identified by ‘password’with grant option;
(%表示是所有的外部機器,如果指定某一臺機,就將%改爲相應的機器名;‘root’則是指要使用的用戶名,)
mysql> flush privileges; (運行爲句才生效,或者重啓MySQL)
Query OK, 0 rows affected (0.03 sec)
mysql> select host,user from user; (再次查看用戶的權限情況)
+-------------+-------+
| host | user |
+-------------+-------+
| % | mysql |
| % | root |
| localhost | |
| localhost | root |
| localhost | |
| localhost | mysql |
+-------------+-------+
mysql>exit
現在再試試:
root#mysql -h mysql -u root -p
Enter password:******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 4.0.20a-debug
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
就成功連接上了。
關於在user表裏使用GRANT語句增添新用戶:(
GRANT語句安裝3個新用戶:
monty:可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令
('something'做這個。注意,我們必須對
monty@localhost和monty@"%"發出GRANT語句。如果我們增加localhost條目,對localhost的匿名用戶條目在我
們從本地主機連接接時由mysql_install_db創建的條目將優先考慮,因爲它有更特定的Host字段值,所以以user表排列順序看更早到來。
admin:可以從localhost沒有一個口令進行連接並且被授予reload
和process管理權限的用戶。這允許用戶執行mysqladmin reload、mysqladmin refresh和mysqladmin
flush-*命令,還有mysqladmin processlist。沒有授予數據庫有關的權限。他們能在以後通過發出另一個GRANT語句授權。
dummy:可以不用一個口令連接的一個用戶,但是隻能從本地主機。全局權限被設置爲'N'--USAGE權限類型允許你無需權限就可設置一個用戶。它假定你將在以後授予數據庫相關的權限。
注意:
以上的設置不緊是對本機的用戶使用權限的更改,在所有外部的機器上都可以使用指定的用戶登陸連接。當使用mysql-front在windows下管理數據庫時,可能由於版本的問題有些程序不支持使用密碼,出現以下提示:
1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
可以使用mymanager來管理mysql。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章