创建云端服务器

1.申请云端服务器
在这里插入图片描述
每个账户有三个月的免费试用
我的服务器选择是centos7 ,别选成win了。
2.创建实例
创建实例的步骤,阿里云有文档 介绍
大致就是 左边点实例 -》 顶部选你申请服务器时的地区-》下面就出现一条实例-》点更多 -》要重置实例密码 -》同一列下面安全组配置
在这里插入图片描述
要重置实例密码
在这里插入图片描述
同一列下面安全组配置
在这里插入图片描述
在这里插入图片描述
开放端口
在这里插入图片描述
再点侧边栏实例 ,复制 IP地址下的 公网IP xxx.xxx.xxx.xxx
在这里插入图片描述

3.Xshell 登录服务器
在这里插入图片描述
点连接 输用户名 密码 ,这是你重置实例密码时的用户名密码
用户名填 root
在这里插入图片描述

登录成功
在这里插入图片描述
4.用docker 创建数据库

docker安装不赘述了。

4.1 拉取指定版本的镜像

docker pull mysql:5.7.37

4.2 检查是否存在 MySQL 镜像

docker images

4.3 运行MySQL镜像并设置密码

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.37

上面是一台机器的运行
如果想要实现本地软件连接docker里面的数据库,那么你可以通过
-p <本机端口:数据库端口>的方式来映射
需要 -p 参数映射端口,不映射到本机, 外网不能访问。

4.4 外部连接

docker run -p <本机端口:数据库端口> --name <容器名称> -e MYSQL_ROOT_PASSWORD=<数据库密码> -d mysql:<版本号>
docker run -p 3306:3306 --name java -v /home/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/docker/mysql/data:/var/lib/mysql -v /data/mysql/logs:/logs -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.37

4.5 查看数据库是否创建完成

# 查看mysql是否执行成功
docker ps
#进入运行的容器
docker exec -it <容器 ID> bash
#进入 MySQL 服务
mysql -u root -p

在这里插入图片描述
到此 通过服务器 创建完数据库,并连接上数据库了
下面就是外部连接数据库

5.navicat连接
在这里插入图片描述
测试连接,成功就可以了

注意:
网上有通过 SSH+常规登录navicat,不建议这么做。这么做连上的本质是 通过SSH登录服务器,在服务器中登录数据库。并不是直接通过公网IP登录数据库。
在这里插入图片描述
在这里插入图片描述
而navicat无法直接通过公网ip连接上数据库
在这里插入图片描述
在这里插入图片描述

解决办法
执行以下命令再连接试下

iptables -t nat -I PREROUTING -p tcp --dport 3306 -m state --state NEW -j ACCEPT

安全组放通下 3306端口 再试下。
在这里插入图片描述
命令依次执行后,再试下。

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

重点就是开放端口+重启防火墙
开放的端口是你映射本地的端口

成功连接 over
在这里插入图片描述
注意点:
1.访问ip+端口号 拒绝访问(一般是 端口是自定义的,如8081、8082、9091等)
在这里插入图片描述
可能是 阿里云安全组 没有开放端口号
查看防火墙状态:

systemctl status firewalld

实例中已经安装Firewalld并且已经启用firewalld.service,若需要放行 TCP 8081端口,执行命令

firewall-cmd --add-port=8081/tcp --permanent

返回结果为success即表示已经放行TCP 8081端口。
最后重新加载防火墙即可:

firewall-cmd --reload

查看已经开放的 port

firewall-cmd --zone=public --list-ports

在这里插入图片描述
在这里插入图片描述

然后就可以访问了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值