设置防火墙使mysql可以远程连接的方法

由于防火墙中的过滤功能,禁止外界的数据报文进入,可以设置

 iptables -I INPUT -p tcp -d 192.168.18.9 --dport 3306 -j ACCEPT

 iptables -I OUTPUT -p tcp -s 192.168.18.9 --sport 3306 -j ACCEPT


注意这里必须把这个规则放在最上边 -I INPUT 默认追加到顶部,这样才可以通过否则,一开始就屏蔽了。为了安全最好设置到端口。因为远程连接使用的ssh,基于tcp 所以把tcp 设置通过。

如此就可以远程登陆mysql.

当然首先你的mysql中有这个用户的权限。

       ‘root‘@‘192.168.%.%‘这个用户要存在且有权限,才可以以root身份从192.168.%.%这些网络中登陆。

    可以直接用语句

        MariaDB [(none)]> grant all privileges on *.* to ‘root‘@‘192.168.%.%‘ identified by ‘150370992390kd‘;

        如此便可以从远处连接mysql了。

时间: 2024-11-12 01:36:30

设置防火墙使mysql可以远程连接的方法的相关文章

MySQL开启远程连接的方法

原文地址 http://www.cnblogs.com/linjiqin/p/5270938.html 配置mysql允许远程连接的方法 默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf找到bind-address = 127.0.0.1这一行改为bind-address = 0.0.0.0即可 二.为需要远程登录的用户赋予权限1.新建用户远程连接mysql数据库grant all on

[转]配置mysql允许远程连接的方法

配置mysql允许远程连接的方法 vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysql -uroot -p123456 为需要远程登录的用户赋予权限: 复制代码代码如下: mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "123456";mysql&

mysql允许远程连接授权方法

mysql数据库和apache不在同一台服务器时,需要远程连接mysql,这就要对mysql进行远程连接授权,为了安全只允许某些ip可以连接: 假如你想root用户从ip 192.168.2.12连接到mysql,并设置密码”123456“,授权方法如下: 1,进入mysql:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.2.12' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql>FLU

配置mysql允许远程连接的方法

配置mysql允许远程连接的方法默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件.一.修改/etc/mysql/my.conf找到bind-address = 127.0.0.1这一行改为bind-address = 0.0.0.0即可二.为需要远程登录的用户赋予权限1.新建用户远程连接mysql数据库grant all on . to [email protected]'%' identified by '123456' with g

MySQL数据库远程连接开启方法

第一中方法:比较详细以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL 数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程. 1.d:\MySQL\bin\>MySQL -h localhost -u root 这样应该可以进入MySQL服务器 复制代码代码如下: MySQL>update user set host = '%' where user = 'root'; MySQL>

mysql 不能远程连接

不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直接看下面地址,我也将内容复制到了地址下面了.自己调试过程有点长,当记录吧,有兴趣的可以看下,也许对你有帮助 http://www.jb51.net/article/33813.htm vim /etc/my.cnf 注释这一行:bind-address=127.0.0.1 ==> #bind-add

Linux下mysql实现远程连接

首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接.可能觉得我有点咬文嚼字了,不过我感觉分清这点还是很重要的.默认情况下,所有账号都是禁止远程连接的.在安装MYSQL的时候,在设置ROOT密码那里有一个CHECKBOX,选中的话就开启了ROOT的远程登陆功能,默认是没被选中的.利用: select * frommysql.user 查出所有的MYSQL用户,可以发现默认情况下,这些记录的host字段的值全都是localhost,这个host字段就是表示哪些机器可以利用此账

mysql 开启远程连接访问

mysql 开启远程连接访问 按ctrl+r 进入cmd命令 进入mysql路径输入mysql -u root -p 密码 输入use mysql 选择要使用的数据库 使用"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '数据库的密码' WITH GRANT OPTION;"命令可以更改远程连接的设置. 使用flush privileges;命令刷新刚才修改的权限,使其生效 使用select host,user from

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-netw