mysql 允许远程访问

linux装完MySQL后想用navcat连接数据库 :

1、登录到MySQL中,为root进行远程访问的授权,执行下面的命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root";

mysql> flush privileges;

第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

GRANT ALL PRIVILEGES ON *.* TO [email protected]"172.168.193.25" IDENTIFIED BY "root";

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

bind-address          = 127.0.0.1

将其注释掉,保存。

3、重新启动MySQL服务器。执行下面的几条命令即可:

# /usr/bin/mysqladmin -u root -p shutdown

# /usr/bin/mysqld_safe &

如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:

# whereis mysqladmin
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

执行完上面的三步后,还未连接数据库数据库了且 Can‘t connect to MySQL server (10060)异常

4.在iptables中开放3306端口

#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
 #/etc/rc.d/init.d/iptables save  保存:

# service iptables restart  重启生效

当然除了开放3306端口外,还有一个方法就是关闭防火墙,命令为:

# service iptables stop

不过,不推荐这种做法,因为这会引起安全性问题。

时间: 2024-08-11 05:35:59

mysql 允许远程访问的相关文章

mysql 数据库远程访问设置方法

摘自: http://www.iteye.com/topic/418151 mysql数据库远程访问设置方法 1.修改localhost更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql

Linux下MySQL不能远程访问

最近在Linux上装了个MySQL数据库,可是远程连接MySQL时总是报出erro 2003: Can't connect to MySQL server on '211.87.***.***' (111),昨天查了好几个小时才找到解决方案,如下: 1.sudo gedit /etc/mysql.my.cnf 找到bind-address      =127.0.0.1 修改为bind-address   =0.0.0.0 2.sudo /etc/init.d/ mysql restart 在这

mysql设置远程访问

Mysql远程访问设置,容许远程连接本地数据库. 1.进入本地Mysql安装目录bin下,登录Mysql, 如图: 2.  切换数据库到内置的名为“mysql”的数据库,可以看到下面的一个名为“user”的表. 3. 执行sql语句:select host,user,password from user; 可以看到所有的可登陆本数据库的用户名,密码和对应的host.默认只能本地访问. 4.  修改设置远程访问. 执行语句: GRANT ALL PRIVILEGES ON *.* TO 'root

MySQL数据库远程访问权限如何打开(两种方法)

MySQL数据库远程访问权限如何打开(两种方法) 下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "

linux下mysql开启远程访问权限及防火墙开放3306端口

开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法. 相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法 1.登陆mysql mysql -u root -p 2.修改mysql库的user表,将host项,从localhost改为%.%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将l

解决MySQL无法远程访问的3方案

解决MySQL无法远程访问的3方案 此文章主要向大家讲述的是MySQL无法远程访问的正确解决方案,除了广为流传的改表法与授权法,还有另外的一种方法.以下就有详细内容介绍. 作者:JinGua来源:cnblogs|2010-06-01 16:26 收藏 分享 在解决MySQL无法远程访问的实际操作中我们经常会选择的方案,除了改表法与授权法,在安装MySQL的机器上运行这一方法也是比较好用的方案,以下就是文章对解决MySQL无法远程访问的一些解决方案的描述. MySQL无法远程访问方法1.改表法.

Linux下配置Mysql允许远程访问

操作非常简单,就5步骤,如下: 1.进入 mysql: ? 1 /usr/local/mysql/bin/mysql -u root -p 2.使用 mysql库 : ? 1 use mysql; 3.查看用户表 : ? 1 SELECT `Host`,`User` FROM user; 4.更新用户表 : ? 1 UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; 5.强制刷新权限 : ? 1 flush privileges

MySQL无法远程访问的解决方案

在网上有很多关于这个的解决方案,我也采用了写的比较详细的如:1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”CODE:mysql -u root -p123mysql>use mysql;mysql>update user set host = ‘%’ where user = ‘root’;mysql

mysql授权远程访问

当mysql管理工具连接数据库时,容易出现无法连接的问题. 如下图所示: 碰到这个问题一般是mysql没有授权其他机器或者ip的访问权限. 所以我们需要在mysql中设置可以被远程访问的权限 ①进入mysql mysql>mysql -u root -p mysql>123123(密码) ②授权远程访问,并刷新授权表: mysql>grant all privileges on *.* to 'root'@'%'   identified  by '123123' ; mysql>

打开MySQL数据库远程访问的权限

在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限.下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%&q