[转帖] 无法远程登入MySQL 1033-host 'x.x.x.x' is not allowed to connect to this MySql ser_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1932 | 回复: 0   主题: [转帖] 无法远程登入MySQL 1033-host 'x.x.x.x' is not allowed to connect to this MySql ser        下一篇 
幕后黑手
注册用户
等级:新兵
经验:51
发帖:14
精华:0
注册:2012-4-29
状态:离线
发送短消息息给幕后黑手 加好友    发送短消息息给幕后黑手 发消息
发表于: IP:您无权察看 2014-11-7 10:09:53 | [全部帖] [楼主帖] 楼主

今天遇到一个问题,
访问我本地 MySql时没有问题,但是要远程连到另一个机器上的MySql的服务器时,怎么样,都连不上,我远程想建立一个Navicat 的mysql连接时,也报了“1033-host '
123.12.12.124' is not allowed to connect to this MySql server”的错,网上看了下,说的是远程的MySQL的服务器有问题,解决办法,自己总结了下:
方法一:

1、先查看服务器ip所在机器的防火墙是否有阻止MYSQL端口,默认是3306,确保防火墙是允许3306端口进行访问。

2、在本机上,首先以 root 帐户登陆 MySQL

      在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL 的 bin 目录下,然后输入下面的命令。

      在 Linux 主机中在命令提示行下输入下面的命令

>mysql -u root -p spaqgl


      spaqgl为 数据库名。
      2)创建远程登陆用户并授权

>Grant
all
privileges
on
dis.*
to
'root'@'123.12.12.124'
identified
by
'123456'
with
grant
option;


      上面的语句表示将 dis 数据库的所有权限授权给 ted 这个用户,允许 root用户在  123.12.12.124 这个 IP 进行远程登陆,并设置 root 用户的密码为 123456 

      下面逐一分析所有的参数:

      all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select, insert ,update ,delete ,create,drop 等,具体权限间用“,”半角逗号分隔。dis.* 表示上面的权限是针对于哪个的,disc 指的是数据库,后面的 * 表示对于所有的表,对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

      root表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

       123.12.12.124  表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

 执行完上面这一句命令后,再执行:flush privileges; 命令,然后,再打开MYSQL的命令行客户端,进入mysql 数据库:

mysql> use mysql
Database changed
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| %         | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+


行到如上结果时,表明,别的主机可以远程访问你本机的MYSQL数据了

方法二:进入本机上的MYSQL数据库,
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%,这样,其它远程机器就可以访问你本地的MySQL数据库了

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论