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

相关推荐
未来之窗软件服务18 分钟前
服务器运维(六)跨域配置 Preflight 问题——东方仙化神期
运维·服务器·服务器运维·仙盟创梦ide·东方仙盟
AORO20251 小时前
智能三防手机哪款好?22000mAh+夜视+露营灯打造专业户外装备
服务器·网络·智能手机·电脑·1024程序员节
winner88812 小时前
Linux 软件安装 “命令密码本”:yum/apt/brew 一网打尽
linux·运维·服务器
九河云3 小时前
软件开发平台 DevCloud
运维·服务器·数据库·科技·华为云
firstacui3 小时前
DNS高速缓存&分离解析
服务器
思麟呀4 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
winner88814 小时前
嵌入式Linux驱动开发全流程:工具协作+核心概念拆解(从入门到理解)
linux·运维·驱动开发
TTBIGDATA5 小时前
【Ambari开启Kerberos】KERBEROS SERVICE CHECK 报错
大数据·运维·hadoop·ambari·cdh·bigtop·ttbigdata
Archy_Wang_15 小时前
脚本自动生成专业Linux巡检报告
linux·运维·服务器
java_logo5 小时前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节