MySql远程连接的设置问题(转)

如果使用 web 和数据库不在同一台服务器上,MySQL 服务器就需要允许远程链接,网站才能正常运行。

MySQL  的远程链接设置有两种方法:

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 ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY
‘mypassword‘ WITH GRANT OPTION;

运行完正常的话会出现“Query OK, 0 rows affected (0.00 sec)”
这样的提示,表示已经授权成功。

授权成功了,还需要将3306端口打开。。要不然远程还是没法访问。。

以下亦是摘自网络。。。

设置Ubuntu上的MySQL可以远程访问

1. 3306端口是不是没有打开?

使用nestat命令查看3306端口状态:

~# netstat -an | grep 3306

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

从结果可以看出3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。

解决方法:修改/etc/mysql/my.cnf文件。打开文件,找到下面内容:

# 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

把上面这一行注释掉或者把127.0.0.1换成合适的IP,建议注释掉。

重新启动后,重新使用netstat检测:

~# netstat -an | grep 3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

2. 问题解决了吗?

现在使用下面命令测试:

~# mysql -h 10.1.1.2 -u root -p

Enter password:

ERROR 1130 (00000): Host ‘B0324-Desktop.local‘ is not allowed to connect to this MySQL server

结果出乎意料,还是不行。

解决方法:原来还需要把用户权限分配各远程用户。

登录到mysql服务器,使用grant命令分配权限

mysql> grant all on database_name.* to [email protected]‘%‘ identified by ‘user_password‘;

其中database_name、user_name和user_password根据实际情况设置。

完成后使用mysql命令连接,提示成功,为了确保正确可以再远程登陆测试一下。

from :  http://blog.sina.com.cn/s/blog_6e0c0fdf01017bga.html

时间: 2024-07-28 20:35:22

MySql远程连接的设置问题(转)的相关文章

mysql远程连接的设置

有时数据库所在机器与项目运行的机器不是同一个,那么就涉及到远程链接数据库了,配置远程连接数据库的步骤如下: 1.查看mysql数据库中,user表中的信息,如下图,先使用use mysql切换到mysql数据库,然后用select host, user from user列出user表中所有的用户及对应的host地址,其中host对应允许访问的主机的ip,“%”表示允许所有的ip访问该数据库,user对应于用户名,如下图所示,test用户允许所有的ip来连接此数据库,而root用户只允许通过本地

Linux开启mysql远程连接

Linux开启mysql远程连接的设置步骤 . mysql远程连接linuxserviceserveruserMysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下: 1.GRANT命令创建远程连接mysql授权用户test mysql -u root -p mysql>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY 'test' WITH GRAN

[转]阿里云配置mysql远程连接

[转]阿里云配置mysql远程连接 默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h localhost -p use mysql                #打开mysql数据库 #将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip update user set host='%' where user='root'

[转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题

装了个navicat ,然后去连接mysql服务器,一直连不上,一开始以为是防火墙问题,后来防火墙都关闭, iptable服务关闭,还是不行,网上查了下:主要是因为设置了bind_address=127.0.0.1 原文引用: 问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误. [mysql@vvmvcs0 ~]$ my

mysql 远程连接超时解决办法

设置mysql远程连接root权限 在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接. 需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库. 方法如下: 默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆: 需要更改权限才能实现远程连接MYSQL数据库. 可以通过以下方式来确认: root#mysql -h localhost -uroot -p Enter passwo

阿里云配置mysql远程连接

默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h localhost -p use mysql                #打开mysql数据库 #将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip update user set host='%' where user='root' and host='localho

MYSQL远程登录权限设置

Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; IDENTIFIED BY后跟的是密码,可设为空. 2. FLUSH privileges; 更新 Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作: 一.允许ro

Navicat for mysql 远程连接 mySql数据库10061、1045错误

用navicat连接远程的mysql数据报错: 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061.1045错误或 2003-Can't connect to MySQL on '192.168.1.2'(10061),这个原因是因为MySQL不准许远程连接. 最简单的办法是 MySQL远程配置 代码如下 复制代码 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '

MySQL远程连接出现ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题

MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题 问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误. [[email protected] ~]$ mysql -hxxx.xxx.xxx.85 -uroot -p Enter pa