CentOS 离线安装部署 MySQL 8详细教程

发布于:2024-07-09 ⋅ 阅读:(49) ⋅ 点赞:(0)

1、简介

MySQL是一个流行的开源关系型数据库管理系统(RDBMS),它基于SQL(Structured Query Language,结构化查询语言)进行操作。MySQL最初由瑞典的MySQL AB公司开发,后来被Sun Microsystems公司收购,最终成为甲骨文公司(Oracle Corporation)的一部分。

2、资源下载

2.1、查看 CentOS 版本

# 显示Linux标准基础(Linux Standard Base,LSB)的版本信息
lsb_release -a

2.2、下载 MySQL

MySQL 社区版下载链接

在这里插入图片描述

2.3、Oracle 帐户,方便下载

# 提醒:为了大伙的方便,请不要随便用该邮箱重新注册Oracle账号!
账号:yawoniu@163.com
密码:Oracle.123

2.4、卸载 MariaDB(按需操作)

# 停止 MariaDB 服务
systemctl stop mariadb

# 卸载 MariaDB 服务
yum remove mariadb-server

# 清理依赖包
yum list installed | grep mariadb
yum remove mariadb-libs

# 删除配置文件和数据目录
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql

# 清理残留文件
find / -name '*mysql*'

# 验证卸载
yum list installed | grep mariadb

3、安装 MySQL

3.1、创建目录

# 创建 MySQL 工作目录
mkdir -p /usr/local/app/mysql

3.2、解压文件

# 上传 MySQL 安装包到指定文件并解压
tar xvf mysql-8.0.38-1.el7.x86_64.rpm-bundle.tar

3.3、安装 MySQL

# 安装 MySQL 软件包
# -i:安装软件包。
# -v:在安装过程中显示详细的输出信息。
# -h:显示安装进度条。
# *.rpm:通配符 * 表示匹配当前目录下所有以 .rpm 结尾的文件,表示要安装所有以 .rpm 结尾的软件包。
# --nodeps:在安装软件包时不检查依赖关系。这意味着即使软件包的依赖关系未满足,也会强制安装。
# --force:强制安装软件包,即使已经安装了相同版本的软件包。
# rpm -ivh *.rpm
#  --nodeps --force  最好不强制安装,查看一下以来,先删除已有mysql版本(包括mariadb)

# 按顺序依次执行
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-client-plugins-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-client-8*.rpm
rpm -ivh mysql-community-icu-data-files-*.rpm
rpm -ivh mysql-community-server-*.rpm

# 缺少 openssl-devel,使用如下命令安装一下就可以了
yum install openssl-devel -y

# 查看 MySQL 安装情况
systemctl status mysqld

3.4、配置 MySQL

# 编辑配置文件
vi /etc/my.cnf

复制以下内容

# 服务器唯一ID,默认是1
server-id=1

# 启用二进制日志
log-bin=mysql-bin

# 最大连接数 
max_connections=10000

# 设置默认时区
default-time_zone='+8:00'

# 0:区分大小写
# 1:不区分大小写
lower_case_table_names=1

3.5 开机自启动

# 启动 MySQL 服务
systemctl start mysqld

# 停止 MySQL 服务
systemctl stop mysqld

# 重启 MySQL 服务
systemctl restart mysqld

# 设置开机自启动
systemctl enable mysqld

# 验证自启动设置,如果服务已设置为自启动,该命令将输出 enabled
systemctl is-enabled mysqld

# 查看服务状态
systemctl status mysqld

# 禁用自启动(如果需要)
systemctl disable mysqld

3.6、更改加密规则

第一步,初始化登录密码,需要满足强密码要求的密码

# 拿到初始密码(若在my.cnf修改了路径,按my.cnf路径来)
grep password /var/log/mysqld.log

# mysql 登录
mysql -u root -p

# 登录后必须先改密码,否则其他操作无法进行,需要满足强密码要求的密码(密码改成自己的)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd!@##';

# mysql 8.0.13以后的版本授权指令要分开执行
# 1、查看目前用户的 host
select user,host from mysql.user;
# 2、修改用户 host
update mysql.user set host='%' where user='root';
# 3、给予远程用户所有表所有权限
GRANT ALL ON *.* TO 'root'@'%' with grant option;

# 远程访问(密码改成自己的)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'P@ssw0rd!@##';
 
# 刷新权限
flush privileges;

3.7、环境测试

在这里插入图片描述

本文教程到此结束,祝愿小伙伴们在编程之旅中能够愉快地探索、学习、成长!

网站公告

今日签到

点亮在社区的每一天
去签到