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登录数据库验证是否成功。

相关推荐
2301_772204281 天前
Linux 驱动开发:杂项设备驱动与自动设备号管理
linux·运维·驱动开发
黄昏晓x1 天前
Linux----缓冲区
linux·运维·服务器
2501_901147831 天前
学习笔记:单调递增数字求解的迭代优化与工程实践
linux·服务器·笔记·学习·算法
2501_924878731 天前
AdAgent 能力成熟度模型:从 L1 自动化到 L5 自主增长引擎
运维·自动化
寄存器漫游者1 天前
Linux 软件编程 命令、内核与 Shell
linux·运维·服务器
Kaede61 天前
服务器硬件防火墙和软件防火墙的区别
运维·服务器
qinyia1 天前
通过本地构建解决Cartographer编译中absl依赖缺失问题
linux·运维·服务器·mysql·ubuntu
萧曵 丶1 天前
Docker 面试题
运维·docker·容器
七牛云行业应用1 天前
3.5s降至0.4s!Claude Code生产级连接优化与Agent实战
运维·人工智能·大模型·aigc·claude
小草cys1 天前
鲲鹏920服务器安装openEuler后无法联网,但物理网线已连接
运维·服务器·openeuler