CentOS7安装MySQL8保姆级教程

环境说明

环境说明: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;

参考

  1. CentOS7安装MySQL8(亲测无坑百分百安装成功)
  2. CentOS7安装MySQL8(超级详细-无坑)

内容基本同参考文章相同,不过本文解决了以上参考文章的部分问题,一般情况安装应该非常顺利

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值