本文参考官网地址: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 全部完成。