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

相关推荐
TA远方44 分钟前
【Android】adb常用的命令用法详解
android·adb·管理·控制·命令
啊吧怪不啊吧1 小时前
UU远程协助迎来升级!第一期更新实测
运维·服务器·远程工作
HIT_Weston8 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20188 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟8 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston8 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式8 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
期待のcode8 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
AI 智能服务9 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
xuekai200809019 小时前
mysql-组复制 -8.4.7 主从搭建
android·adb