阿里云 Linux CentOS7 MySQL远程访问设置(mysql允许远程访问、允许指定ip访问、防火墙开启3306端口)

34 篇文章 1 订阅

参考: https://blog.csdn.net/u011886447/article/details/79796802

阿里云的CentOS7安装了MySQL之后,远程访问不到的解决方案:

 

1. 阿里云安全组

如果用的是阿里云服务器,首先确认阿里云的安全组中是否开通数据库的对外端口(通常是3306),如果没有,就新增一个

 

2. Mysql设置允许远程访问

默认情况下 MySQL 是不允许远程连接的,所以在 Java 项目或者 MySQLWorkbench 等数据库连接工具连接服务器上的 MySQL 服务的时候会报 "Host 'x.x.x.x' is not allowed to connect to this MySQL server"。可以通过下面的设置解决。详细可以参考 https://blog.csdn.net/u011886447/article/details/78462787

服务器mysql -u root -p 进入mysql命令行,执行下侧语句,允许mysql的远程访问:

mysql命令执行如果提示:-bash: mysql: command not found,那么看这里(https://blog.csdn.net/torpidcat/article/details/97642246)

-- 允许所有远程连接到root权限下的所有数据库 

grant all privileges on *.* to root@"%" identified by '数据库密码'; 

-- 刷新(必要执行的语句)

flush privileges;

-- 如果不想开放全部数据库或者需要设置指定ip访问指定库: https://blog.csdn.net/torpidcat/article/details/97274141

--------------------------------------------------------------------------------

提示:

在执行第一条命令的时候,可能会报:

'ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.' 需要让我们重置密码。原因是因为之前设置的密码过于简单,不符合 MySQL 的安全要求。只要重新设置一个复杂点的密码就可以了:

SET PASSWORD = PASSWORD('xxx');   //xxx 是重置的新的复杂的密码

--------------------------------------------------------------------------------

 

3. 防火墙设置

防火墙需要开放 3306 端口,依次执行:

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

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

firewall-cmd --reload

如果是 CentOS 7,需要将 MySQL 服务加入防火墙,然后重启防火墙:

firewall-cmd --zone=public --permanent --add-service=mysql

firewall-cmd --reload #重载防火墙配置 或 systemctl restart firewalld 重启防火墙

--------------------------------------------------------------------------------

提示:

在输入 firewall-cmd --permanent --zone=public --add-port=3306/tcp 时可能会报 'FirewallD is not running',是说防火墙本身就没有打开,解决方法:

① 查看防火墙状态:systemctl status firewalld,会发现状态是 dead,即防火墙未开启。

② 打开防火墙:systemctl start firewalld

③ 再次查看防火墙状态:systemctl status firewalld,这时会发现状态变为 running,即防火墙开启成功。

 

防火墙中移除端口的命令,举例:

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

 firewall-cmd --reload

 

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值