环境说明
环境说明:CentOS 7.8.2003
MySQL 版本:MySQL 8.0.28
一、安装前准备
1.1、卸载 MariaDB
安装前需要卸载掉 CentOS 自带安装的 MariaDB
1.1.1、查看是否安装了 MariaDB
rpm -qa|grep mariadb
1.1.2、卸载
rpm -e --nodeps 文件名
1.1.3、确认是否卸载干净
rpm -qa|grep mariadb
1.2、检查依赖
1.2.1、查看是否安装libaio
rpm -qa|grep libaio
如果没有安装的话使用 yum 安装
yum -y install libaio
1.2.2、查看是否安装numactl
rpm -qa|grep numactl
如果没有安装的话使用 yum 安装
yum -y install numactl
二、安装 MySQL
2.1、下载 MySQL
官网获取的下载地址相对比较慢甚至访问不同,所以建议直接用国内镜像下载
wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar?spm=a2c6h.25603864.0.0.70bd70b2bJyACM
2.2、解压
建议直接安装到 /usr/local/mysql 下,因为有些脚本默认认为安装目录就是这个,如果不使用这个地址可能带来一些不必要的麻烦
# 文件名默认下载下来是 mysql-8.0.28-linux-glibc2.12-x86_64.tar?spm=a2c6h.25603864.0.0.70bd70b2bJyACM,所以可以先进行重命名
mv mysql-8.0.28-linux-glibc2.12-x86_64.tar?spm=a2c6h.25603864.0.0.70bd70b2bJyACM mysql-8.0.28-linux-glibc2.12-x86_64.tar
# 进入到 /usr/local
cd /usr/local
# 解压包
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
# 默认会解压出三个子压缩包
# mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
# mysql-router-8.0.28-linux-glibc2.12-x86_64.tar.xz
# mysql-test-8.0.28-linux-glibc2.12-x86_64.tar.xz
# 解压 mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
tar -vxf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
# 修改目录名
mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql
# 进入 mysql
cd mysql
# 创建数据存储目录
mkdir data
2.3、用户和用户组
# 创建一个用户组:mysql
groupadd mysql
# 创建一个系统用户:mysql,指定用户组为mysql
# 创建用户:useradd
# -r:创建系统用户
# -g:指定用户组
useradd -r -g mysql mysql
# 更改属主和数组
chown -R mysql:mysql /usr/local/mysql
# 更改模式
chmod -R 755 /usr/local/mysql
2.4、创建配置文件
文件位置 /etc/my.cnf
# 创建并编辑
vi /etc/my.cnf
配置内容
[client]
port=3306
socket=/usr/local/mysql/data/mysql.sock
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
port=3306
socket=/usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size=16M
max_allowed_packet=1M
table_open_cache=64
sort_buffer_size=512K
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
datadir=/usr/local/mysql/data
lower_case_table_names=1
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size=20M
sort_buffer_size=20M
read_buffer=2M
write_buffer=2M
[mysqlhotcopy]
interactive-timeout
# 修改 my.cnf 权限为777
chmod 777 /etc/my.cnf
2.5、初始化 MySQL
# 进入 /usr/local/mysql/bin
cd /usr/local/mysql/bin
# 执行初始化命名
# 执行完后会输出临时随机密码需要记住
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2.6、启动 MsSQL
/usr/local/mysql/support-files/mysql.server start
2.7、重新设置密码
# 登录 mysql
/usr/local/mysql/bin/mysql -uroot -p临时随机密码
# 也可以输入 /usr/local/mysql/bin/mysql -uroot -p 直接回车,然后输入密码,这种方式看不到输入的密码,更安全
# 修改密码
alter user 'root'@'localhost' identified by '123456';
# 或者
set password for root@localhost = '123456';
# 选择 mysql;
use mysql;
# 更新为所有主机均可登录 root 用户
update user set user.Host='%' where user.User='root';
# 刷新权限生效
flush privileges; //刷新权限
2.8、设置密码加密方式
由于 MySQL8 升级了默认的密码加密插件为 caching_sha2_password,如果需要用 MySQL 连接客户端连接,需要修改密码加密插件或升级连接客户端的加密插件,直接修改数据库的简单,这里使用数据库的
# 查看当前的
SELECT Host, User, plugin from user;
# 修改
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'
# 刷星
FLUSH PRIVILEGES;
参考
内容基本同参考文章相同,不过本文解决了以上参考文章的部分问题,一般情况安装应该非常顺利