在centos7中已经将mysql从yum应用列表中移除,并使用mariadb代替,所以直接通过yum install mysql-server安装时会提示没有可用软件包mysql-server。在centos7中安装mysql需要重新添加mysql的存储库。 本教程操作系统为CentOs 7.6,Mysql8版本数据库。
1、添加Mysql yum的存储库
访问官网得到下载地址。不要下载错版本啦(可看下边图片)。不知道可以通过命令查看 uname -a
执行下载命令:
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装下载的rpm包,这一步会自动将mysql yum存储库添加到yum源目录中。
yum localinstall mysql80-community-release-el7-1.noarch.rpm
经过上边两个步骤后可以发现 /etc/yum.repos.d/ 目录下多了两个文件: mysql-community.repo mysql-community-source.repo
2、安装MySQL
2.1 选择Mysql的版本
安装最新版请忽略这一步。我选的8.0,最新的8.0,有需要安装旧版本的可以参照此步骤。
vi 修改 /etc/yum.repos.d/mysql-community.repo 文件,选择想要安装的版本将 enabled=1,将其它版本改为enabled=0,如下图
2.2 安装Mysql
yum install mysql-community-server
2.3 启动Mysql
systemctl start mysqld
systemctl status mysqld.service //查看mysql运行状态
systemctl enable mysqld 开机启动 //开机启动
2.4 修改密码
安装后会有一个初始密码,在Mysql日记文件中,/var/log/mysqld.log,如下:
[root@centosb local]# grep 'temporary password' /var/log/mysqld.log
2021-11-30T06:49:24.455509Z 1 [Note] A temporary password is generated for root@localhost: 4otI5?.tqcim
首先要修改密码,不修改无法对数据库进行操作,以数据库root用户登录mysql,修改密码,一定要修改密码,。
这里有个问题,新密码设置的时候如果设置的过于简单会报错:
因为实现的默认密码策略validate_password要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。我们先按照这个规则去修改密码,不然会出现各种报错,如果我们想要一个简单的密码,一切执行完后,再回来改就行了。修改密码后刷新权限表。
MySQL密码设置的规范,具体是与validate_password_policy的值有关:
[root@localhost ~]# mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456@Lwq'; #修改密码
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
2.5 设置允许远程登录
use mysql;
update user set host='%' where host='localhost';
flush privileges;
2.6 设置简单密码
注意:本教程是安装的Mysql8,Mysql8的很多写法跟旧版本不一样,很多步骤可能因此而出错,一定要注意!
若是想设置一个简单的密码,首先要修改密码策略:
set global validate_password.policy=0;
set global validate_password.length=1;
然后修改密码:
ALTER user 'root'@'%' IDENTIFIED BY '123456';
flush privileges;
完毕!