AlmaLinux release 9.6服务器离线安装MySQL8.0.27详细步骤

1.先下载mysql到本地,在上传到需要安装MySQL的服务器上;

https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

2.上传MySQL压缩包到指定文件夹下,并解压;

例如:在/data01文件夹

先创建mysql文件下,再解压

java 复制代码
#创建文件夹
sudo mkdir mysql
cd mysql
#在目录中执行解压命令
sudo tar -xvf  mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

#修改解压后的目录名称(可选)
sudo mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql-8.0.27

3.创建用户组以及用户和密码:

java 复制代码
#创建mysql用户组
sudo groupadd mysql

#创建mysql用户 并添加到mysql用户组中
sudo useradd -g mysql mysql

4.授权用户

java 复制代码
#授权mysql用户目录权限
sudo chown -R mysql.mysql /data01/mysql/mysql-8.0.27/

5.执行初始化命令

java 复制代码
sudo mkdir data
sudo chown -R mysql.mysql /data01/mysql/mysql-8.0.27/

#进入mysql目录
cd mysql-8.0.27/bin

#执行初始化命令
sudo ./mysqld --user=mysql --basedir=/data01/mysql/mysql-8.0.27 --datadir=/data01/mysql/mysql-8.0.27/data/ --initialize --lower-case-table-names=1

#执行成功后会有root用户初始密码要记录下

6.修改MySQL数据目录

java 复制代码
#修改配置文件
sudo vi /etc/my.cnf

#参考示例
[mysqld]
#设置mysql的安装目录
basedir=/data01/mysql/mysql-8.0.27/
#设置mysql数据库的数据的存放目录
datadir=/data01/mysql/mysql-8.0.27/data
# 设置客户端默认字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1

# 默认使用"mysql_native_password"插件认证 
default_authentication_plugin=mysql_native_password
#注释mysqld_safe 下的所有配置 系统会输出到 datadir目录下
#[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid

7.服务器关闭selinux防火墙

java 复制代码
sudo vim /etc/sysconfig/selinux
#设置selinux为disabled

#再输入setenforce 0,临时关闭selinux防火墙
sudo setenforce 0

8.添加mysqld服务到系统 授权以及添加服务

java 复制代码
# 手动创建 systemd 服务文件
sudo vi /etc/systemd/system/mysql.service

#添加下面内容
[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/data01/mysql/mysql-8.0.27/bin/mysqld --defaults-file=/etc/my.cnf
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

#将mysql命令添加到系统指令:在任何目录下执行 mysql -uroot -p 进行登录
sudo ln -s /data01/mysql/mysql-8.0.27/bin/mysql /usr/bin

#重新加载 systemd 并启动服务
sudo systemctl daemon-reload
sudo systemctl enable mysql
sudo systemctl start mysql

登录数据库报错libtinfo.so.5处理:

java 复制代码
# 检查现有的 libtinfo 版本
ls -la /usr/lib64/libtinfo*

# 创建符号链接(假设有 libtinfo.so.6)
sudo ln -sf /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
sudo ln -sf /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5

# 验证链接
ls -la /usr/lib64/libtinfo.so.5

9.登录服务并修改密码:

java 复制代码
#登录mysql 使用上面记录的初始化密码
mysql -u root -p密码
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; 
#刷新权限
flush privileges;

#配置外网连接授权:
#使用当前数据库
use mysql;
#修改root 用户的连接地址现在 localhost 为本机 也可指定固定ip 此处 % 开启所有ip访问
update user set host='%' where user='root';
#刷新权限
flush privileges;

10.打开防火墙端口

java 复制代码
#查看防火墙状态
sudo systemctl status firewalld
sudo systemctl is-enabled firewalld
#打开3306端口
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

最后打开navicat登录数据库验证是否成功。

相关推荐
_下雨天.2 小时前
LVS负载均衡
服务器·负载均衡·lvs
mounter6255 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
特长腿特长5 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5385 小时前
Linux环境变量
linux·运维·服务器
kebeiovo6 小时前
atomic原子操作实现无锁队列
服务器·c++
赛博云推-Twitter热门霸屏工具6 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18806 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
帮我吧智能服务平台7 小时前
装备制造智能制造升级:远程运维与智能服务如何保障产线OEE
运维·服务器·制造
w6100104667 小时前
cka-2026-cri-dockerd
运维·k8s·cka
卤炖阑尾炎8 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql