前言
上一篇文章,我们介绍了mysql数据库的压缩包安装方式,链接:Java应用基础运行环境安装(二)——数据库安装(压缩包方式)
这一篇我们来介绍一下mysql的另一种安装方式,rpm包安装,个人更加喜欢使用rpm包来安装数据库,安装较为简单,后期版本升级也比较方便。
RPM包安装
1. 安装包下载
首先我们从官网下载,mysql的rpm安装包,下载地址:downloads.mysql.com/archives/co…
这里我选择8.0.27版本来安装
下载成功之后,我们将压缩包上传至服务器上,如图:
2. 卸载系统自带的mysql
检查系统中是否安装过MySQL和mariadb,这两个都会影响数据库的安装,要先删除,使用如下命令查看
rpm -qa|grep mysql
rpm -qa|grep mariadb
检查出相应软件之后,将其删除,使用命令
rpm -e --nodeps 软件名称
2.创建安装目录,解压文件
首先我们在/usr/local/目前下创建mysql文件夹,使用命令mkdir /usr/local/mysql,然后将上传的压缩包解压至mysql目录下,命令tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/
解压后,进入/usr/local/mysql目录下可以看到如下文件:
3.开始安装
解压出来的rpm包相互依赖,需要按照顺序依次安装,也可以使用命令rpm -ivh mysql-community-*批量安装,由系统检查安装顺序;安装过程中,可能会出现某些依赖没有安装,不用担心,缺少哪个我们就安装哪个,然后重新执行rpm -ivh mysql-community-*,直到安装成功为止; 如图:
因为我是安装的最小版本的linux系统,依赖缺失非常多,o(╥﹏╥)o,所以先执行
yum -y update命令,整体升级一下系统, 然后重启服务器,让升级生效
更新成功,之后,再次执行rpm -ivh mysql-community-*,还是有很多依赖没有处理
可以看到,系统主要缺少pkgconfig、perl、net-tools,这三个依赖,我们单独安装,pkgconfig使用yum install -y openssl-devel安装,net-tools使用yum install -y net-tools,perl使用yum -y install --downloaddir=/opt perl
上面三个模块都安装成功之后,重启服务器,再次执行
rpm -ivh mysql-community-*命令,
,
发现还有三个依赖没有安装,(꒦_꒦) ,网上查资料知道,perl(Data::Dumper)使用
yum install -y perl-Data-Dumper,perl(JSON),使用yum install -y perl-JSON安装,perl(Test::More)使用yum install -y perl-Test-Simple安装
再次重启服务器,执行rpm -ivh mysql-community-*命令
依赖缺失全部解决,安装成功了~~
我这里因为安装的是最小模式的linux系统,所以依赖缺失很多,如果小伙伴们使用的专业的云服务器厂商,像阿里、腾讯之类的,这种依赖缺失的情况就会少很多。
4.启动mysql并修改root密码
输入命令systemctl status mysqld,查看mysql运行情况
可以看出现在mysql服务是关闭的,输入
systemctl start mysqld命令启动服务,再用systemctl status mysqld查看服务状态
绿色的active表示mysql服务已经启动,查看mysql日志,找到临时密码,输入命令
cat /var/log/mysqld.log | grep password 查询数据库临时密码
注意冒号后面的空格,复制密码时不要把空格带上了。。。 、
使用临时密码登陆数据库 mysql -u root -p
输入如下sql语句修改root密码
alter user 'root'@'localhost' identified by 'Root123!';
mysql8.0+的密码默认策略是:至少8位,其中包含,至少有一位大写字母,至少有一位小写字母,至少有一位数字,至少有一位特殊字符,我这里输入Root123!正好满足条件;密码策略也可以自行修改,支持简单密码
输入如下sql使root账户支持外部远程访问
use mysql;
update user set host='%' where user='root';
flush privileges;
使用Navicat检查数据库是否可以使用
使用命令,放开防火墙3306端口,重启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld
打开Navicat,配置数据库的host,root账户密码 ,测试连接
连接成功,这样,我们的mysql数据库就安装成功了