Centos7基于tar.gz压缩包安装MySQL8.0

本文参考官网地址:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

检查环境中是否已有mariadb文件

在CentOS中默认安装MariaDB,它是MySQL的分支,在此之前,我们可以先通过以下指令查询:

rpm -qa | grep -i mariadb

如果有查到,则通过以下指令卸载,有几条就对应的使用几个rpm -e --nodeps:

rpm -e --nodeps xxx
rpm -e --nodeps xxx

安装MySQL依赖libaio包libaio

libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。

yum install libaio

下载MySQL安装包,并上传到服务器

登录MySQL官网:https://dev.mysql.com/downloads/mysql/,选择操作系统及对应的版本,下载 mysql 安装包,本文使用的是 mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz 。下载完成后通过客户端工具上传到Linux系统中的/usr/local目录下。

解压压缩文件

cd /usr/local
tar xvf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz
ln -s mysql-8.0.36-linux-glibc2.17-x86_64 mysql

在这里插入图片描述

建立用户及用户组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

修改安装目录权限

chown -R root:mysql mysql-8.0.36-linux-glibc2.17-x86_64

这里之所以将所属用户改为root是防止在以mysql用户启动mysql时有权限修改安装目录的内容。

创建备份用目录

mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files

创建数据存储目录

mkdir -p /data/mysql_data
chown mysql:mysql /data/mysql_data

初始化mysql

进入mysql安装目录,进行mysql数据库的初始化。

cd /usr/local
bin/mysqld --initialize --user=mysql --console
bin/mysql_ssl_rsa_setup

在这里插入图片描述
可在控制台看到mysql临时登录密码,该密码也可在数据目录下的error.log文件中查看到。

启动mysql服务

mysql.server服务在安装目录的support-files目录下,执行以下指令进行启动:

./mysql.server start

此处如果报错显示权限不足,需要给mysql安装目录重新赋予一下权限,然后重启机器后再次执行。

修改root用户原始密码

在mysql安装目录的bin目录下进行登陆, 在password后输入之前记录的随机密码。登陆成功后,执行下方指令修改密码,BY后面的字符串就是新密码。

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxx';

设置允许远程登陆并重启

use mysql;
update user set user.Host='%'where user.User='root';
flush privileges;
quit;

添加MySQL到系统进程

执行下方指令添加mysql到系统进程:

cp /usr/local/mysql-8.0.36-linux-glibc2.17-x86_64/support-files/mysql.server /etc/init.d/mysqld

设置MySQL服务自启动

chmod +x /etc/init.d/mysqld
systemctl enable mysqld

添加系统变量

编辑文件 /etc/profile ,在最后添加: export PATH=$PATH:/usr/local/mysql/bin

vim /etc/profile
# 在最后添加: export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile

查看mysql服务状态

systemctl status mysqld.service

OK,至此 Centos7 基于tar.gz压缩包安装MySQL8.0 全部完成。