centos7默认数据库是mariadb, 但是好多用的都是mysql ,但是centos7的yum源中默认好像是没有mysql的,所以我们需要自己去安装mysql。而这个mariadb是mysql的分支,安装完成后会覆盖mariadb的,安装步骤如下。

一、添加MySQL Yum存储库

从官网下载最新的mysql源
官网地址:https://dev.mysql.com/downloads/repo/yum/

1、选择并下载适用于平台的发行包

centos7 新增mysql数据库 centos7自带数据库_centos


centos7 新增mysql数据库 centos7自带数据库_centos7 新增mysql数据库_02


2、到Linux终端去执行如下命令,提示没有wget的要安装,注意,我这里都是用root权限安装的

# 用wget下载noarch包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 然后安装下载完成后的noarch包  -Uvh:升级软件包
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

centos7 新增mysql数据库 centos7自带数据库_mysql_03


3、或者直接rpm去安装也行,免去了wget的步骤,一步完成

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

二、选择mysql5.7发行版本,进行安装

使用MySQL Yum存储库时,默认情况下会选择要安装的最新GA版本MySQL。如果这是您想要的,则可以跳到下一步。

默认情况下,默认启用最新GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 5.7系列)的子存储库均被禁用。使用此命令可查看MySQL Yum存储库中的所有子存储库,并查看已启用或禁用了哪些子存储库。

1、列出所有版本

yum repolist all | grep mysql

centos7 新增mysql数据库 centos7自带数据库_linux_04


可以看到8.0版本是enabled的,5.7版本是disabled的,这里我们需要安装5.7版本的,所以把8.0的进行禁用,然后再启用5.7版本

先禁用8.0版本:

yum-config-manager --disable mysql80-community

然后启用5.7版本

yum-config-manager --enable mysql57-community

p.s.运行 yum-config-manager命令如果提示 -bash: yum-config-manager: command not found 命令未找到, 需要安装yum-config-manager ,在 yum-utils包里面。yum -y install yum-utils

完成后,检查启用版本,因为进行安装时必须确保只有一个版本启用,否则会显示版本冲突

yum repolist enabled | grep mysql

centos7 新增mysql数据库 centos7自带数据库_MySQL_05


网上有提供方法说进入mysql-community.repo这个文件进行修改,这个本质上都是一样的,相比修改文件,我个人倾向于上面这种方法

2、安装mysql5.7

yum install mysql-community-server

centos7 新增mysql数据库 centos7自带数据库_MySQL_06


3、验证安装是否成功,查看mysql版本

mysql --version

centos7 新增mysql数据库 centos7自带数据库_linux_07

三、启动mysql,登录

启动mysql服务,这里也是以root

systemctl start mysqld.service

查看运行状态

systemctl status mysqld.service

centos7 新增mysql数据库 centos7自带数据库_centos7 新增mysql数据库_08

登录MySql:MySql服务器初始化的时候会创建 'root@localhost’是一个超级用户账号。设置超级用户的临时密码并将其存储在错误日志文件中。要显示它,请使用以下命令:

grep 'temporary password' /var/log/mysqld.log

centos7 新增mysql数据库 centos7自带数据库_centos_09


然后通过生成的临时密码登录mysql,输入密码时时不可见的

mysql -uroot -p

centos7 新增mysql数据库 centos7自带数据库_mysql_10

当然这个临时密码不方便我们记忆,可以重置密码,因为安全策略有所改变,以前的空密码登录root账户这种变态的方式已被禁止,更改用户密码也不允许以set password for username……这种方式了,改为alter user username@url identified by 'password'这种方式,设置密码也更加严格,要求有足够的复杂度,mysql5.7是要求必须有大小写字母,数字以及特殊符号,密码长度也有要求,好像是最少八位

例如

ALTER USER 'root'@'localhost' identified by 'Test@2020';

centos7 新增mysql数据库 centos7自带数据库_mysql_11


到这里,整个流程就完成了,centos7下mysql数据库安装大功告成!