linux中p查看mysql运行端口,[linux] MySQL开启远程访问权限及防火墙开放3306端口

本文介绍了在Linux系统中安装MySQL后,如何为root用户授权以允许远程访问,并详细阐述了如何配置CentOS 6和7的防火墙以开放3306端口,以便通过Windows的Navicat进行数据库连接。步骤包括登录MySQL进行用户授权、修改防火墙配置文件以及使用firewalld或iptables命令来开启端口。
摘要由CSDN通过智能技术生成

在Linux中装上mysql之后,发现windows中用navicat连接数据库失败,这是由于默认mysql的用户是没有远程访问的权限的,因此当navicat程序跟mysql数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限才能正常访问mysql数据库。

1、登陆mysql

mysql -u root -p

2、root 用户授权

grant all privileges on *.* to root@'%' identified by 'rootpasswd ' with grant option;

// 这段指令允许所有用root用户输入密码登陆该mysql server,

// 如果将'%' 换成'192.168.1.124' ,那么只有'192.168.1.124'的主机可以登陆。

// rootpasswd : 登录密码

FLUSH PRIVILEGES;

防火墙开放3306端口 - Centos6

1、打开防火墙配置文件

vi /etc/sysconfig/iptables

2、增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、更改后的防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

4、保存后重启防火墙

service iptables restart

注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前,否则将仍不能进行访问。

防火墙开放3306端口 - Centos7

一、firewalld 防火墙

语法命令如下:启用区域端口和协议组合

firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]

此举将启用端口和协议的组合。

端口可以是一个单独的端口 或者是一个端口范围 -。

协议可以是 tcp 或 udp。

查看 firewalld 状态

systemctl status firewalld

开启 firewalld

systemctl start firewalld

开放端口

// --permanent 永久生效,没有此参数重启后失效

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=3306/tcp

删除

firewall-cmd --zone=public --remove-port=3306/tcp --permanent

二、iptables 防火墙

也可以还原传统的管理方式使用 iptables

关闭firewalld防火墙

// 停止firewalld服务

systemctl stop firewalld

// 屏蔽服务让他不能自启

systemctl mask firewalld

安装iptables

yum install iptables-services

设置开机启动

systemctl enable iptables

操作命令

// 关闭服务

systemctl stop iptables

// 启动服务

systemctl start iptables

// 重启服务

systemctl restart iptables

// 显示服务状态

systemctl status iptables

在启动的时候会遇到这样的问题:Unit iptables.service failed to load

问题根源是在/etc/sysconfig/下面没有找到iptables文件。解决办法如下:

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

/usr/libexec/iptables/iptables.init save #保存成功

然后再执行

systemctl start iptables

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值