Centos安装mysql8.0

看到网上对centos安装8.0的方法不是很全,其实centos可以使用yum安装centos,这里记录一下。

Yum安装

1.如果之前安装了mysql的,清理原有的mysql数据库

  • 查找已经依赖包
rpm -qa|grep mysql
  • 删除找到的与mysql有关的依赖包
yum remove mysql-* -y
  • 删除配置
rm -rf /var/lib/mysql

2.下载MySQL repo文件上传到服务器,网址如下MySQL :: Download MySQL Yum Repository

我现在使用的是centos7,所以对应下载图中的版本。image-20221114185344121

  • 把下载好的repo文件通过xshell上传到centos中
  • 安装rpm文件,更新yum缓存
rpm -ivh mysql80-community-release-el7-7.noarch.rpm 
yum clean all
yum makecache

上述命令完成后,就生成了mysql的yum源,如下图:

image-20221114185846979

3.使用yum安装mysql

  • 可以先查看yum仓库中mysql的版本,默认会安装最新版的mysql。
yum list |grep mysql-community

如下图:

image-20221114190059799

  • 执行安装
yum install mysql-community-server -y

如下图即为成功:

image-20221114190404070

4.配置mysqld并更新初始密码

开启mysql服务

systemctl start mysqld

mysql8.0在安装后会自动创建一个root@localhost账户,并且把初始密码放到了/var/log/mysqld.log文件中。

使用以下命令获取初始密码。

cat /var/log/mysqld.log |grep password

如下图:

image-20221114190818527

如图所示,我的初始密码是 f,cw-Cq5?YY3

接下来使用初始密码登录mysql

mysql -u root -p
#输入密码

初始密码比较复杂,注意不要输错

成功登录如下图:image-20221114191025631

修改初始密码。使用以下命令:

alter user root@localhost identified by 'newpassword';
#将newpassword替换为你要更改的密码

这里需要解释一下mysql8.0的密码策略,相对于mysql5.x来说,对安全性控制更高,默认情况下设置的密码必须含有数字,小写或大写字母,特殊字符,且长度不低于8位。

如果不想设置安全性高的密码,仅作练习使用,可以使用以下命令来暂时修改密码规则。

在mysql中执行以下语句可以暂时修改密码规则:

validate_password.policy=LOW;
validate_password.length=6;
validate_password.mixed_case_count=0;
validate_password.special_char_count=0;
validate_password.length=6;
flush privileges;

但是mysql8.0必须修改密码才能执行语句。所以我们先使用exit语句退出。

exit

然后编辑msyql配置文件来修改密码规则,这种方法会永久破坏默认的密码规则,工作中并不建议使用。

  • 编辑配置文件/etc/my.cnf
vi /etc/my.cnf
#将以下配置写入[mysqld]
validate_password.policy=0
validate_password.length=6
validate_password.mixed_case_count=0
validate_password.special_char_count=0
validate_password.length=6
#保存退出

具体参考如下图

image-20221114192429753

  • 重新启动mysql
systemctl restart mysqld

此时修改密码不再有规则限制,可以配置自己的密码:

alter user root@localhost identified by 'newpassword';
#将newpassword替换为你要更改的密码

配置密码后,建议记录一下,以免遗忘。

现在可以愉快的使用mysql了。