【2025年8月5日】mysql-8.0.38-linux-glibc2.12-x86_64.tar.xz 安装MySQL操作指引

你提到的 mysql-8.0.38-linux-glibc2.12-x86_64.tar.xz 是 MySQL 8.0.38 版本的 Linux 二进制发行包(适用于 glibc 2.12 及以上版本的 64 位系统)。以下是使用该包在 Linux 系统中安装 MySQL 的步骤:

安装前准备

  1. 检查系统依赖

    确保系统已安装 libaio 库(MySQL 运行依赖):

    bash 复制代码
    # CentOS/RHEL 系统
    sudo yum install libaio -y
    
    # Ubuntu/Debian 系统
    sudo apt-get install libaio1 -y
  2. 创建 MySQL 用户和组

    为了安全,建议使用专用用户运行 MySQL:

    bash 复制代码
    sudo groupadd mysql
    sudo useradd -r -g mysql -s /bin/false mysql  # -r 表示系统用户,无登录权限
  3. 解压安装包

    假设安装包放在 /opt 目录,解压到 /usr/local 并创建软链接:

    bash 复制代码
    # 解压
    sudo tar -Jxvf /opt/mysql-8.0.38-linux-glibc2.12-x86_64.tar.xz -C /usr/local
    
    # 进入安装目录,创建软链接(方便后续升级)
    cd /usr/local
    sudo ln -s mysql-8.0.38-linux-glibc2.12-x86_64 mysql
    
    # 设置目录权限
    sudo chown -R mysql:mysql /usr/local/mysql

初始化 MySQL 数据库

  1. 初始化数据目录

    使用 mysqld 初始化数据库(生成默认数据文件和临时密码):

    bash 复制代码
    cd /usr/local/mysql
    sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    执行后会输出一段日志,记录临时密码 (形如 root@localhost: xxxxxxxx),后续登录需要使用。

  2. 配置 SSL 加密(可选)

    生成 SSL 证书(增强连接安全性):

    bash 复制代码
    sudo bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

配置 MySQL 服务

  1. 创建系统服务文件

    方便通过 systemd 管理 MySQL 服务:

    bash 复制代码
    sudo vim /usr/lib/systemd/system/mysqld.service

    写入以下内容:

    ini 复制代码
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
    LimitNOFILE=5000
  2. 创建配置文件

    在 MySQL 安装目录创建 my.cnf 配置文件:

    bash 复制代码
    sudo vim /usr/local/mysql/my.cnf

    基础配置示例:

    ini 复制代码
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    socket = /tmp/mysql.sock
    port = 3306
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    log-error = /usr/local/mysql/data/error.log
    pid-file = /usr/local/mysql/data/mysqld.pid

启动 MySQL 并设置密码

  1. 启动服务并设置开机自启

    bash 复制代码
    # 重载系统服务
    sudo systemctl daemon-reload
    
    # 启动 MySQL
    sudo systemctl start mysqld
    
    # 查看状态
    sudo systemctl status mysqld
    
    # 设置开机自启
    sudo systemctl enable mysqld
  2. 登录 MySQL 并修改密码

    使用初始化时的临时密码登录:

    bash 复制代码
    /usr/local/mysql/bin/mysql -u root -p

    输入临时密码后,执行以下命令修改密码(MySQL 8.0 要求强密码):

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword@123';

添加环境变量(可选)

为了方便在任意目录使用 mysql 命令,可添加环境变量:

bash 复制代码
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc

通过以上步骤,即可完成 MySQL 8.0.38 的二进制包安装。如果需要远程访问,还需在 MySQL 中授权并开放防火墙 3306 端口。

相关推荐
小猪佩奇TONY7 分钟前
Linux 内核学习(19) --- linux swap 机制
linux·学习·swap·kswapd
努力努力再努力wz16 分钟前
【C++ 高阶系列】C++ 高性能网络编程:当 Reactor 遇见协程:从 epoll 回调到异步 MySQL,彻底打通任务挂起与恢复
网络·c++·mysql
这个DBA有点耶33 分钟前
测试全绿,上线三周数据没入账——那个95%的兼容度报告,漏掉的是边界
数据库·mysql·架构
1024奇点42 分钟前
【仓颉语言入门 · 第二篇 第 15 课】
开发语言·数据库·ide·开源
第404号工位1 小时前
浏览器的“无痕模式”是当代最大安慰剂?我用 30 行 JS 提取硬件指纹,跨网络换代理照样精准锁定你
linux·人工智能·python
疯狂学习GIS1 小时前
将谷歌地球引擎账号升级为Contributor与Partner层级的方法
java·数据库·人工智能
gf13211111 小时前
python_高德地图驾车时长查询
数据库·python·mysql
心随_风动1 小时前
Ubuntu系统安装Apache服务教程
linux·ubuntu·apache
时间售卖铺1 小时前
MySQL 日志管理
运维·数据库·mysql·云原生
秋风点枝2 小时前
数据库 01 · 体系结构与存储引擎
数据库·mysql