前言
我们的项目上线都需要部署数据库到服务器上,这次我们就在云耀云服务器L实例上实际部署一次。这次采用CentOS 7.9 + MySQL8.0.34方案,使用yum安装简化流程。这篇文章会介绍从服务器选购到搭建成功后使用DBA工具连接的全流程。
一、选购与连接服务器
我们先来购买服务器:
这里我们选购2核2G的配置,并安装CentOS7.9。随后进入服务器后台修改密码:
之后需要在安全组中放行3306端口:
接下来就可以用Xshell建立连接了:
二、配置环境
1. 安装MySQL Yum Repository
首先检查是否安装过MySQL
rpm -qa|grep -i mysql
如果安装过,请先停止MySQL服务并删除所有文件。之后从官网下载MySQL的repo,这里我们选择mysql80-community-release-el7-10.noarch.rpm版本
wget -c repo.mysql.com//mysql80-community-release-el7-10.noarch.rpm
安装repo:
rpm -U mysql80-community-release-el7-1.noarch.rpm
2. 安装MySQL8.0
使用yum安装MySQl。执行:
yum install mysql-community-server
会自动选择8.0的最新版,这里为我们安装的是8.0.34
之后启动服务:
service mysqld start
此时可以查看MySQL服务运行状态:
service mysqld status
Active表明MySQL Server正在运行。
3. 初始化MySQL
首先我们要知道MySQL的初始密码。执行:
cat /var/log/mysqld.log
在日志文件中就能看到初始密码。之后便可以连进数据库中:
mysql -uroot -p
输入密码便进去了。
接下来我们需要修改密码。在数据库中执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
此处密码不能过于简单,必须在8位以上且含有数字、小写或大写字母和特殊字符。接下来我们查看一下允许访问root的host有哪些。
use mysql
select Host, User from user;
这里我们可以看到目前只有本地用户可以访问,因此我们创建一个远程访问用户:
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
flush privileges;
如果想要使用简单密码需要降低免密安全性设置:
set global validate_password.length=1;
set global validate_password.policy=0;
添加完毕!接下来我们退出MySQL,编辑MySQL配置文件:
vim /etc/my.cnf
将下面的配置添加进去
# 端口号
port=3306
character-set-server=UTF8MB4
symbolic-links=0
# 解决“java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column”
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
之后重启服务并设置开机自启:
service mysqld restart
systemctl enable mysqld
4. 远程接入
开启防护墙并放行3306端口
systemctl start firewalld
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
这样MySQL就配置好了。下面我们使用DBA工具尝试连接:
大功告成!
总结
很荣幸收到CSDN和华为云邀请参与本次评测,整个搭建过程还是非常简单顺利。
云服务已经是现今重要的生产力工具,选购一个稳定、方便、性价比高的服务器也是我们程序猿应当考虑的事情。希望本篇文章能为你的项目添砖加瓦,我们下篇再见!