mysql> update user set host = '%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 1
mysql> select host,user from user;
+------------------+------+
| host | user |
+------------------+------+
| % | root |
| 127.0.0.1 | root |
| 192.168.33.110 | root |
| yunwei2.uid5a.cn | root |
+------------------+------+
4 rows in set (0.00 sec)mysql
mysql> select host,user from user;
+------------------+------+
| host | user |
+------------------+------+
| % | root |
| 127.0.0.1 | root |
| 192.168.33.110 | root |
| yunwei2.uid5a.cn | root |
+------------------+------+
4 rows in set (0.00 sec)web
mysql> grant all privileges on *.* to 'root'@'%' identified by 'uid5a827' with g rant option;
Query OK, 0 rows affected (0.00 sec)sql
mysql> flush;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)數據庫
mysql> grant all privileges on *.* to 'root'@'buy2.w98-e5.ezwebtest.com' identified by 'abcd1234' with grant option;
Query OK, 0 rows affected (0.00 sec)服務器
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)ide
參考文章ui
http://till.iteye.com/blog/115659this
若是你想鏈接你的mysql的時候發生這個錯誤:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
解決方法:
1。 改表法。多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 受權法。例如,你想myuser使用mypassword從任何主機鏈接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
若是你想容許用戶myuser從ip爲192.168.1.3的主機鏈接到mysql服務器,並使用mypassword做爲密碼
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;server
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;
blog