我们经常需要搭建开发环境,或将客户的服务部署到服务器上,以正式发布程序,这都需要采购服务器,然后搭建开发环境,并做日常维护。本文以阿里云服务器为例,记录java开发/部署环境的的搭建与维护。
操作系统:CentOS 8.2
购买好阿里云服务器后,通过ssh登录服务器,创建软件包存放文件夹,用于存放后续待使用的文件包:
sudo mkdir /root/software_packages
然后通过wget命令在服务器上直接下载下文所需软件包,或者在本地windows客户端下载好软件包后,通过winscp上传至服务器。
一、MySQL安装与配置
- 检查是否已经安装
yum list installed | grep mysql
如果已经安装其他版本,可以通过 yum -y remove 命令删除。
- 下载yum的repo源并安装,可以通过官网下载,也可以通过以下命令下载
cd /root/software_packages/
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
这里要注意,因为我的服务器操作系统是centOS7,所以这里选择的是el7。"el7" 表示这是为Red Hat Enterprise Linux 7(通常简称为EL7)或CentOS 7构建的软件包。
下载完成后,在/root/software_packages/目录下会有个mysql-community-release-el7-5.noarch.rpm文件。执行命令:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
这个rpm还不是MySQL的安装文件,只是两个yum源文件,执行后,在/etc/yum.repos.d/ 这个目录下多出mysql-community-source.repo和mysql-community.repo两个目录。(PS:这一步可能会出现版本冲突错误,解决办法见文末)
- 检查是否已经有mysql可安装文件
yum repolist all | grep mysql
- 安装MySQL服务
yum install mysql-community-server
由于yum会自动处理相关依赖,一路yes即可。
- 启动MySQL服务
systemctl start mysqld
- 由于MySQL刚刚安装完的时候,MySQL的root用户的密码默认是空的,所以我们需要及时用MySQL的root用户登录(第一次回车键,不用输入密码),并修改密码
mysql -u root
> use mysql;
> update user set password=PASSWORD("XXX") where User='root';
> flush privileges;
将上面的XXX替换成自己想要的密码。退出mysql,重新启动MySQL服务
systemctl restart mysqld;
- 开启远程连接
到此,我们已经完成MySQL服务的安装。但是,我们发现在服务器本地是可以连接MySQL服务的,但是远程连接可能会出现1130错误,需要设置root的'host'为'%'
# 以权限用户root登录,这一步紧接着要输入密码,注意此时密码已经改成上面第6步修改后的密码了
mysql -u root -p
# 选择mysql库
use mysql;
# 查看mysql库中的user表的host值
select 'host' from user where user='root';
# 修改host值,如果这步出错'ERROR 1062 (23000): Duplicate entry `%-root` for key `PRIMARY`'说明该记录有了
update user set host = '%' where user ='root';
# 刷新mysql的系统权限相关表
flush privileges;
# 再重新查看user表
select 'host' from user where user='root';
退出MySQL后,再次重新启动MySQL服务,这样就基本完成MySQL服务的安装与基础配置。有些时候还需要再对服务的安全、自启动做设置,并创建一个新的数据库。
解决版本冲突
在执行 rpm -ivh 命令的时候,可能会出现如下错误:
[root@xxxx]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
error: Failed dependencies:
mysql-community-release conflicts with (installed) mysql80-community-release-el8-1.noarch
这是因为之前安装了错误的版本导致的,需要删除rpm依赖包并清除yum缓存。
检查MySQL安装情况
[root@xxxx]# rpm -qa | grep -i mysql
mysql80-community-release-el8-1.noarch
删除这个错误的依赖包,并清除yum缓存
# 删除rpm依赖包
rpm -e mysql80-community-release-el8-1.noarch
# 清除yum缓存
yum clean all
# 重新建立yum缓存
yum makecache
通过以上操作,将原来错误安装的MySQL版本删除,就可以继续执行正确版本的MySQL安装了。
系列文章
- 阿里云基础开发环境搭建与维护系列之一 : JAVA安装与配置
- 阿里云基础开发环境搭建与维护系列之二 : Maven安装与配置
- 阿里云基础开发环境搭建与维护系列之三 : Git安装与配置
- 阿里云基础开发环境搭建与维护系列之四 : MySQL安装与配置
- 阿里云基础开发环境搭建与维护系列之五 : Redis安装与配置
参考: