Centos 7 安装系列(5):MySQL 8.0.26

MySQL 安装教程

  • 一、安装环境
  • 二、安装MySQL 8
    • 2.1 删除mariadb
    • 2.2 安装软件包
      • 2.2.1 下载软件包
      • 2.2.2 解压软件包
      • 3.2.3 下载工具
      • 2.2.4 安装软件包
    • 2.3 修改配置
      • 2.3.1 不区分大小写,禁止ONLY_FULL_GROUP_BY
      • 2.3.2 初始化数据库
      • 2.3.3 启动MySQL
      • 2.3.4 修改密码
      • 2.3.5 允许远程登录
      • 2.3.6 开放端口
  • 三、 总结

一、安装环境

虚拟机系统:CentOS 7.6
已安装环境:无

二、安装MySQL 8

2.1 删除mariadb

mariadb 是Linux 系统自带的数据库,可能会与MySQL 数据库的某些配置起冲突,在这里,我们需要先将其卸载。
首先,我们需要确认服务器上安装的mariadb 的版本,在命令行中输入以下命令:

rpm -aq | grep mariadb

本次操作的结果如下图所示:
在这里插入图片描述
确认了版本之后便可以进行删除了,在命令行中输入以下命令:

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

本次操作的结果如下图所示:
在这里插入图片描述

2.2 安装软件包

2.2.1 下载软件包

在MySQL官网 选择合适的版本进行下载:
Centos 7 安装系列(5):MySQL 8.0.26_第1张图片

2.2.2 解压软件包

首先选择一个合适的目录,存放压缩包,这里我们选择的/usr/local 目录,并在其下创建了env 文件夹,本次包括今后的安装都将在这个目录下进行。
现在,我们已经将mysql 的压缩包通过FTP 工具放进了/usr/local/env 目录,具体结果如下:
在这里插入图片描述
已经有了压缩包,那么接下来肯定就是解压了,在命令行输入以下命令:

tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar

本次操作的结果如下图所示:
通过该命令,我们可以清楚地看到整个解压过程以及该过程中的产生的解压文件。
Centos 7 安装系列(5):MySQL 8.0.26_第2张图片

3.2.3 下载工具

在命令行中输入以下命令:

yum install perl -y

本次操作的结果如下图所示:
Centos 7 安装系列(5):MySQL 8.0.26_第3张图片
在命令行中输入以下命令:

yum install net-tools -y

本次操作的结果如下图所示:
Centos 7 安装系列(5):MySQL 8.0.26_第4张图片

2.2.4 安装软件包

工具安装完成之后,在命令行中依次执行以下命令以安装MySQL:

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

本次操作的结果如下图所示:
Centos 7 安装系列(5):MySQL 8.0.26_第5张图片

2.3 修改配置

2.3.1 不区分大小写,禁止ONLY_FULL_GROUP_BY

在 /etc/my.cnf 文件中[mysqld] 标签下添加如下两行:

lower_case_table_names = 1

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

2.3.2 初始化数据库

MySQL 数据库安装完成之后默认的root 账号是没有密码的。这时候想登录数据库有两种选择:

  • 初始化数据库,这会生成一个随机的密码
  • 配置免密登录

这里,我们选择用随机密码登录的方式。
在命令行中输入以下命令进行数据库的初始化:

mysqld --initialize

通过以下命令我们可以查看到root 账号分配到的随机密码:

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

本次操作的结果如下图所示:
在这里插入图片描述

2.3.3 启动MySQL

首先,修改文件权限:

chmod -R 777 /var/lib/mysql

接下来就可以启动MySQL 服务:

service mysqld start

看到下面的打印信息,那么就是启动成功了。
在这里插入图片描述

2.3.4 修改密码

现在数据库已经启动了,接下来我们需要修改root 账户的密码,这是为了安全起见。
在命令行中输入以下命令(提示需要输入密码时,复制上文提到的临时密码即可快速登录):

 mysql -uroot -p

可以看到,我们已经进行sql 操作界面了。
Centos 7 安装系列(5):MySQL 8.0.26_第6张图片
没有修改密码前,你是无法进行其他操作的。所以接下来,我们要把密码改了:

alter user 'root'@'localhost' identified by '12345678';

在这里插入图片描述
使用新密码进行登录:

exit
mysql -uroot -p12345678

成功进入sql 操作界面:
Centos 7 安装系列(5):MySQL 8.0.26_第7张图片

2.3.5 允许远程登录

use mysql;
update user set host='%' where user='root';

记得刷新权限!!

flush privileges;

Centos 7 安装系列(5):MySQL 8.0.26_第8张图片

2.3.6 开放端口

首先,退出sql 操作界面:

exit;

那么,我们就把MySQL 的默认端口号3306 放开吧:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重新载入配置,使其生效:

firewall-cmd --reload
firewall-cmd --list-ports

可以看到,3306 端口已经在开放列表中了。
Centos 7 安装系列(5):MySQL 8.0.26_第9张图片

三、 总结

好了,本文到此截至,主要介绍了如何在Centos 7 服务器上安装MySQL 8 数据库。
安装过程其实与MySQL 5.7 类似,但是【2.3.1 不区分大小写,禁止ONLY_FULL_GROUP_BY】这一步在5 里是可以在数据库初始化之后完成,而在8 里只能在初始化之前,mysql 语句方面也有些许的差异,这两点就是我做这篇记录的原因所在了。
我是陈冰安,一个学习者。欢迎关注我的公众号【暗星涌动】,愿与你一同进步。

同类型文章推荐:
Centos 7 安装系列(4):Redis 单主机集群

Centos 7 安装系列(3):Redis 6.2.5
Centos 7 安装系列(2):MongoDB 5.0.2
Centos 7 安装系列(1):MySQL 5.7.35
Linux 搭建Java 环境,部署项目
Centos 7 nginx+php 实现公网访问

你可能感兴趣的:(Linux,centos,mysql,linux)