一个远程访问mysql的错误的解决
今天在配置一台服务器的时候,怎么连不上这台服务器上的mysql。远程登录正常,在这台机器*问自己的mysql正常。错误提示SQL Error(2003):Can't connect to MySQL server on '**'(ip)(10061) (**当时就是代指发起访问请求的远程IP)。解决如下: 说明:我使用的是Ubuntu10.04操作系统,使用sudo apt-get命令默认安装的MySQL。 登陆以后运行以下命令,给予远程访问客户端权限.. 其中:remote表示用户名. '172.16.21.39' 是需要赋予访问权限的Iip地址;password表示远程登陆密码. 结果未成功,命令执行成功,但是还是无法远程访问mysql。还需要进行以下步骤 可能需要以root身份登录上去才能执行该命令。 也就是取消mysql默认的只能本机访问的限制。 编辑/etc/mysql/my.cnf(ubuntu下默认mysql的话就是my.cnf,不然就有可能不是这个文件名);找到 将”bind-address = 127.0.0.1“注释掉(前面加上个#即可);如果有需要,可以将127.0.0.1修改成特定的IP地址。 修改之后需要重启一下mysql服务才能生效。命令: sudo /etc/init.d/mysql restart 至此已经能够远程访问MySQL,但是你也许会发现能访问但是看不到数据库。这是因为还没有授予访问特定数据库的权限。 如果用户test 经常在远程IP地址173.255.213.208的客户端访问webdb数据库,那么在服务器端执行的命令应该为(改表法): 至此,如果没有意外的话,应该就能远程访问数据库了。 有个小细节需要注意。如果你的服务器装了防火墙的话,需要打开3306的访问,否则也会连接不上。一个远程访问mysql的错误的解决
1、首先尝试在mysql内赋予该账户从远程IP访问的权限。
grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';
2、取消mysql本机绑定
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
3、给以存在的数据库授权
mysql> use mysql
mysql> update db set Host='173.255.213.208' where Db='webdb';
mysql> update user set Host='173.255.213.208' where user='test';
上一篇: Java中栈溢出解决办法
下一篇: 一个远程访问mysql的错误的解决
推荐阅读
-
MySQL错误代码1862 your password has expired的解决方法
-
SQL Server 完整备份遇到的一个不常见的错误及解决方法
-
SQL Server导入导出数据时最常见的一个错误解决方法
-
mysql 发生系统错误1067的解决方法
-
浅析Mysql 数据回滚错误的解决方法
-
MySQL无法读表错误的解决方法(MySQL 1018 error)
-
MySQL远程连接不上的解决方法
-
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
-
Mysql错误:Too many connections的解决方法
-
navicat连接mysql时出现1045错误的解决方法