MySQL客户端 登录 ERROR 1130 解析

今天在本地远程登录MySQL服务器时,报了一个错误,错误如下:

[root@mysqlserver1 ~]# mysql -h192.168.xxx.xxx -uroot -P6193
ERROR 1130 (HY000): Host '192.168.xxx.xxx' is not allowed to connect to this MySQL server

然后去数据库所在的服务器去查看用户信息,发现如下:

mysql> select host,user,password from user\G
*************************** 1. row ***************************
host: localhost
user: root
password:
*************************** 2. row ***************************
host: 127.0.0.1
user: root
password:
*************************** 3. row ***************************
host: ::1
user: root
password:
3 rows in set (0.01 sec)

也就是说除了本地之外,远程是无法登陆root用户的。所以我尝试把user表中的hostlocalhost的字段改为%,这样远程就可以访问MySQL服务器了(千万不要这么做!!!)。但是这样会带来一些不必要的麻烦。建议的修改方法如下:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

之前的root用户没有密码,这样既授予了权限,又更新了密码。

Tips.1:

*.* 在MySQL中代表 Global Privileges,意思就是全部的数据库。具体内容参考官方解释

Tips.2:

localhost127.0.01
这两者分别有自己的含义,通过localhost连接数据库,使用的是UNIX socket;而127.0.0.1使用的是TCP/IP:

[root@mysqlserver2 ~]# mysql -h 127.0.0.1 -uroot -P6193

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using  EditLine wrapper

Connection id:		30
Current database:	
Current user:		root@127.0.0.1
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.5.30-log Source distribution
Protocol version:	10
`Connection:		127.0.0.1 via TCP/IP`
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
TCP port:		6193
Uptime:			22 hours 17 min 8 sec

Threads: 1  Questions: 324  Slow queries: 0  Opens: 48  Flush tables: 1  Open tables: 41  Queries per second avg: 0.004
[root@mysqlserver2 ~]# mysql -h localhost -uroot -S /data/mysql6193/mysql.sock -P6193 

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using  EditLine wrapper

Connection id:		28
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.5.30-log Source distribution
Protocol version:	10
`Connection:		Localhost via UNIX socket`
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/data/mysql6193/mysql.sock
Uptime:			22 hours 16 min 41 sec

Threads: 1  Questions: 320  Slow queries: 0  Opens: 48  Flush tables: 1  Open tables: 41  Queries per second avg: 0.003
posted @ 2016-05-19 15:17  Info_details  阅读(1408)  评论(0)    收藏  举报