最近做了个项目,打算部署到线上,现在从0开始学习部署,并做学习记录
第一步 购买服务器
我使用的是腾讯云,在腾讯云的首页选择购买,个人使用我选择了如图服务器。购买流程无脑购买。系统我选择的是Centos 7.6。
-
购买完成后,点击右上角个人主页边上的控制台,进入到控制台。找到“我的资源”,找到“轻量应用服务器”
-
点击进入后,忽略推荐。找到刚刚的服务器,点击进入
这里的公网ip一定要保存好,切勿泄漏。
-
重置密码。在该页面向下滑动找到“重置密码”
用户名及远程连接密码一定要记住,切勿泄漏。重置方式选择“在线重置”,省得还要重启电脑
-
创建快照。快照作用是把当前服务器状态记录下来,方便我们后续回滚学习
第二步 远程工具连接云服务器
我使用的是MobaXterm(安装直接上官网,下载压缩包解压即可使用)
- 进入页面后点击Session,选择SSH,输入公网ip
- 打开小黑窗输入远程连接用户名和远程连接密码,即可成功连接服务器
第三步 安装Mysql数据库
-
查看服务器上是否有现成的安装包
>> yum list mysql*
-
确定系统版本,然后到mysql官网的yum资源库找到对应的rpm文件的下载链接。
cat /etc/redhat-release
mysql官网的yum资源库:(https://dev.mysql.com/downloads/repo/yum/)
-
下载。我的为Centos 7.6,下载命令如下,同为该镜像的可以直接复制命令下载,不同的更改链接即可
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
-
查看当前mysql的当前版本
yum info mysql-community-server
-
安装mysql
yum -y install mysql-community-server
安装时,遇到如下问题:
原因:Mysql的GPG升级了,需要重新获取,输入该命令,重新安装mysql,搞定!rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
-
查看数据库状态以及启动数据库
systemctl status mysqld #查看数据库状态 systemctl start mysqld #启动数据库
-
查看数据库的初始密码,并修改数据库密码
less /var/log/mysqld.log
mysqladmin -u root -p password
-
创建一个新的数据库用户用于远程连接,即非root用户。
为什么这么么做?
若有人有意连接别人数据库,写个轮询,按IP号段遍历过去 ,端口3306,账号密码root/1234 56 , 尝试链接,连上哪个算哪个,连不上下个IP继续,就看谁家不锁门,然后呢,把你的数据表都删了,留下一条这个,想拿回数据,发邮件打钱。所以,mysql的用户名和密码,要设置复杂一点,万一你哪天倒霉呢,也要养成备份的习惯。CREATE USER 'my_name'@'%' IDENTIFIED BY 'my_password'; #"%"通配符 表示允许任何ip访问 GRANT ALL PRIVILEGES ON *.* TO 'my_name'@'%'; #赋权 FLUSH PRIVILEGES; #刷新配置
第四步 开放防火墙
Linux系统自带了防火墙,所以我们如果想要正常使用这些软件,要么把防火墙关闭,要么为防火墙开放指定端口
-
查看防火墙状态、开启防火墙
systemctl status firewalld #查看防火墙状态 systemctl start firewalld #开启防火墙 #附关闭防火墙命令 systemctl stop firewalld
-
开放指定端口,我们一般情况下不会直接关闭防火墙,而是通过开放指定的方式
firewall-cmd --zone=public --add-port=8080/tcp --permanent #开放指定端口 firewall-cmd --zone=public --list-ports #查看当前开放端口
当我们开放某端口后,立即查询已开放端口,会发现没有数据,是因为我们还需要重新加载防火墙才会生效
firewall-cmd --reload #重新加载防火墙
第五步 配置mysql默认编码
>> vim /etc/my.cnf
在[mysqld]下添加:
character_set_server=utf8
init_connect='SET NAMES utf8'
如果用vim修改权限不够,可以直接使用远程工具的侧边栏,找到该文件用记事本打开手动添加
随后重启mysql
systemctl restart mysqld
第六步 云服务器放行3306端口
云服务器若不放行,则项目无法获取云服务器的mysql。
-
在服务器首页找到防火墙,点击添加规则
-
输入需要放行的端口并备注
-
IDEA测试数据库连接
本bolg仅作为个人学习笔记,参考blog:
https://blog.csdn.net/Escorts/article/details/118941623
https://blog.csdn.net/qq_48403611/article/details/122763479
https://blog.csdn.net/weixin_42333933/article/details/125905192
知识星球大佬笔记