阿里云服务器(centos7) 设置mysql账号密码开放3306端口实现远程登陆

时间:2024-02-29 12:55:58

设置账号密码

1. 进入mysql输入密码

mysql -u root -p

2. 创建账号(eliteai)并设置密码(密码强度不能太弱否则会报建失败)

grant all on *.* to eliteai@\'127.0.0.1\' identified by "password";

3. 切换到mysql 数据库,给eliteai设置访问权限。

use mysql;

4. 修改eliteai的权限

update user set host = \'%\' where user = \'eliteai\';

5. 查看user表是否修改成功

select user,host from user where user="eliteai";
 
image.png

%说明修改成功,任何ip都可以进行访问

6. 更新数据库

flush privileges;

到这里我们就把mysql的账号密码给添加上去了,如果要添加多个账号跟密码,重复操作上面的步骤即可。下面我们需要实现远程登陆

实现远程登陆

关于本机能登陆mysql,但是远程登陆不上去,往往是防火墙未关闭或者3306端口未开放的情况下

1. 阿里云的安全组策略里查看一下是否进行了3306端口的远程访问

 
image.png

如图,在内网入方向全部规则里添加一个3306的端口即可

2. 关闭防火墙,开放3306端口

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙

1. 关闭firewall:

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

一条条执行哦

2. 安装iptables防火墙

yum install iptables-services -y

3. 启动设置防火墙

systemctl enable iptables
 systemctl start iptables

4. 查看防火墙状态

systemctl status iptables

5. 编辑防火墙,增加端口

vim /etc/sysconfig/iptables #编辑防火墙配置文件
-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 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
:wq! #保存退出

6. 重启配置,重启系统

systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

注意:以上操作如果出现xxx command not found 的情况,我们只要sudo yum install xxx 就可以了,然后会自动给下载的

7. 调试3306端口是否能登陆上去

sudo iptables -L -n
 
image.png

8. 使用Navicat测试连接

 
image.png