在centos7中已经将mysql从yum应用列表中移除,并使用mariadb代替,所以直接通过yum install mysql-server安装时会提示没有可用软件包mysql-server。在centos7中安装mysql需要重新添加mysql的存储库。 本教程操作系统为CentOs 7.6,Mysql8版本数据库。

1、添加Mysql yum的存储库

访问官网得到下载地址。不要下载错版本啦(可看下边图片)。不知道可以通过命令查看 uname -a
image.png
image.png
执行下载命令:

  1. wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

安装下载的rpm包,这一步会自动将mysql yum存储库添加到yum源目录中。

  1. yum localinstall mysql80-community-release-el7-1.noarch.rpm

经过上边两个步骤后可以发现 /etc/yum.repos.d/ 目录下多了两个文件: mysql-community.repo mysql-community-source.repo

2、安装MySQL

经过上边的步骤后就可以直接安装mysql了

2.1 选择Mysql的版本

安装最新版请忽略这一步。我选的8.0,最新的8.0,有需要安装旧版本的可以参照此步骤。
vi 修改 /etc/yum.repos.d/mysql-community.repo 文件,选择想要安装的版本将 enabled=1,将其它版本改为enabled=0,如下图
一、安装MySQL数据库 - 图3

2.2 安装Mysql

  1. yum install mysql-community-server

2.3 启动Mysql

  1. systemctl start mysqld
  2. systemctl status mysqld.service //查看mysql运行状态
  3. systemctl enable mysqld 开机启动 //开机启动

2.4 修改密码

安装后会有一个初始密码,在Mysql日记文件中,/var/log/mysqld.log,如下:

  1. [root@centosb local]# grep 'temporary password' /var/log/mysqld.log
  2. 2021-11-30T06:49:24.455509Z 1 [Note] A temporary password is generated for root@localhost: 4otI5?.tqcim

首先要修改密码,不修改无法对数据库进行操作,以数据库root用户登录mysql,修改密码,一定要修改密码,。
这里有个问题,新密码设置的时候如果设置的过于简单会报错:image.png
因为实现的默认密码策略validate_password要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。我们先按照这个规则去修改密码,不然会出现各种报错,如果我们想要一个简单的密码,一切执行完后,再回来改就行了。修改密码后刷新权限表。

MySQL密码设置的规范,具体是与validate_password_policy的值有关:image.png

  1. [root@localhost ~]# mysql -uroot -p
  2. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456@Lwq'; #修改密码
  3. Query OK, 0 rows affected (0.00 sec)
  4. mysql> flush privileges;

2.5 设置允许远程登录

  1. use mysql;
  2. update user set host='%' where host='localhost';
  3. flush privileges;

2.6 设置简单密码

注意:本教程是安装的Mysql8,Mysql8的很多写法跟旧版本不一样,很多步骤可能因此而出错,一定要注意!

若是想设置一个简单的密码,首先要修改密码策略:

  1. set global validate_password.policy=0;
  2. set global validate_password.length=1;

然后修改密码:

  1. ALTER user 'root'@'%' IDENTIFIED BY '123456';
  2. flush privileges;

完毕!