技术博客
Ubuntu 24.04下MySQL 8.4.3 LTS离线安装全攻略

Ubuntu 24.04下MySQL 8.4.3 LTS离线安装全攻略

作者: 万维易源
2024-11-19
csdn
UbuntuMySQL离线安装部署脚本系统配置

摘要

本文旨在指导用户如何在Ubuntu 24.04操作系统上进行MySQL 8.4.3 LTS版本的离线安装。文章详细阐述了部署环境的配置要求,包括所需软件、系统配置以及资源需求。同时,提供了MySQL 8.4.3 LTS的下载地址和版本选择指南。文章重点介绍了安装流程,包括上传MySQL安装包、解压文件、创建专用用户和用户组、设置文件夹权限、安装libaio依赖以解决Ubuntu 24.04系统上的特定问题、数据库初始化、配置my.cnf文件、设置环境变量、启动MySQL服务、登录MySQL以及进行相关设置,如创建root用户、修改密码和授权等。此外,文章还提供了一个快速部署脚本,旨在帮助用户简化部署流程,快速完成MySQL的离线安装。

关键词

Ubuntu, MySQL, 离线安装, 部署脚本, 系统配置

一、环境配置与前期准备

1.1 部署环境配置要求

在开始MySQL 8.4.3 LTS的离线安装之前,确保您的Ubuntu 24.04系统满足以下部署环境配置要求。这些要求不仅有助于确保安装过程的顺利进行,还能保证MySQL数据库在生产环境中的稳定性和性能。

  • 操作系统:Ubuntu 24.04 LTS
  • 硬件要求
    • 至少2 GB的RAM
    • 至少10 GB的可用磁盘空间
    • 处理器:建议使用多核处理器,以提高数据库处理能力
  • 网络要求:虽然本文介绍的是离线安装,但在初始阶段,您可能需要通过网络下载必要的安装包和依赖项。
  • 用户权限:需要具有root或sudo权限,以便执行安装和配置操作。

1.2 所需软件与系统配置详解

为了顺利完成MySQL 8.4.3 LTS的离线安装,您需要准备以下软件和进行相应的系统配置:

  • MySQL安装包:从MySQL官方网站下载适用于Linux的MySQL 8.4.3 LTS版本。下载地址为:MySQL官方下载页面
  • 依赖项:在Ubuntu 24.04上,您需要安装libaio库,以解决某些特定的问题。可以通过以下命令安装:
    sudo apt-get update
    sudo apt-get install libaio1
    
  • 系统配置
    • 内核参数:为了优化MySQL的性能,建议调整一些内核参数。编辑/etc/sysctl.conf文件,添加以下内容:
      fs.file-max = 65535
      net.ipv4.ip_local_port_range = 1024 65000
      net.ipv4.tcp_tw_reuse = 1
      net.ipv4.tcp_tw_recycle = 1
      vm.swappiness = 10
      vm.vfs_cache_pressure = 50
      
    • 文件描述符限制:编辑/etc/security/limits.conf文件,增加以下内容:
      mysql soft nofile 65535
      mysql hard nofile 65535
      

1.3 资源需求与版本选择指南

选择合适的MySQL版本对于确保系统的稳定性和性能至关重要。MySQL 8.4.3 LTS是一个长期支持版本,适合用于生产环境。以下是选择该版本的一些关键考虑因素:

  • 稳定性:LTS版本经过了长时间的测试和验证,具有较高的稳定性,适合企业级应用。
  • 性能优化:MySQL 8.4.3 LTS引入了许多性能优化特性,如并行查询、改进的索引管理和更好的内存管理。
  • 安全性:该版本包含了许多安全增强功能,如更强的加密算法和更严格的访问控制。
  • 兼容性:确保您的应用程序和现有数据能够与MySQL 8.4.3 LTS兼容。如果有必要,可以进行适当的迁移和测试。

在选择版本时,建议参考MySQL官方文档和社区反馈,以获取最新的信息和最佳实践。此外,根据您的具体需求和资源情况,可以选择不同的存储引擎和配置选项,以进一步优化数据库性能。

二、下载与上传安装包

2.1 MySQL 8.4.3 LTS官方下载地址

在开始MySQL 8.4.3 LTS的离线安装之前,首先需要从MySQL官方网站下载适用于Linux的安装包。选择正确的版本对于确保安装过程的顺利进行至关重要。以下是MySQL 8.4.3 LTS的官方下载地址:

  • 下载地址MySQL官方下载页面
  • 版本选择:在下载页面上,选择“Linux - Generic”选项,然后选择适用于x86_64架构的tar.gz压缩包。确保选择的是8.4.3 LTS版本,这是经过长时间测试和验证的稳定版本,适合用于生产环境。

下载完成后,将安装包保存到一个易于访问的目录,例如/home/user/downloads。接下来,我们将详细介绍如何将安装包上传到目标服务器并进行解压。

2.2 安装包上传与解压步骤

2.2.1 上传安装包

  1. 使用SCP命令上传
    如果您有另一台计算机,可以通过SCP命令将安装包上传到目标服务器。假设您的安装包名为mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz,并且目标服务器的IP地址为192.168.1.100,用户名为user,可以使用以下命令:
    scp /path/to/mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz user@192.168.1.100:/home/user/
    
  2. 使用SFTP客户端上传
    如果您更喜欢图形界面,可以使用SFTP客户端(如FileZilla)将安装包上传到目标服务器。打开FileZilla,输入目标服务器的IP地址、用户名和密码,连接成功后,将安装包拖放到目标目录。

2.2.2 解压安装包

  1. 进入目标目录
    登录到目标服务器,进入您上传安装包的目录。例如:
    ssh user@192.168.1.100
    cd /home/user/
    
  2. 解压安装包
    使用tar命令解压安装包。假设安装包名为mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz,可以使用以下命令:
    tar -xvf mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz
    
  3. 移动解压后的文件
    将解压后的文件移动到一个合适的位置,例如/usr/local/mysql。可以使用以下命令:
    sudo mv mysql-8.4.3-linux-glibc2.12-x86_64 /usr/local/mysql
    
  4. 创建符号链接
    为了方便使用,可以创建一个符号链接,指向MySQL的安装目录。使用以下命令:
    sudo ln -s /usr/local/mysql /usr/local/mysql-8.4.3
    

通过以上步骤,您已经成功上传并解压了MySQL 8.4.3 LTS的安装包。接下来,我们将继续介绍如何创建专用用户和用户组、设置文件夹权限、安装依赖项以及进行数据库初始化等步骤。

三、用户与权限设置

3.1 创建专用用户和用户组

在进行MySQL 8.4.3 LTS的离线安装过程中,创建专用用户和用户组是确保系统安全性和稳定性的关键步骤。这一步骤不仅有助于隔离MySQL服务与其他系统服务,还可以防止潜在的安全风险。以下是详细的创建步骤:

  1. 创建MySQL用户组
    首先,我们需要创建一个专门用于运行MySQL服务的用户组。这可以通过以下命令实现:
    sudo groupadd mysql
    
  2. 创建MySQL用户
    接下来,创建一个专门用于运行MySQL服务的用户,并将其添加到刚刚创建的用户组中。使用以下命令:
    sudo useradd -r -g mysql -s /bin/false mysql
    

    这里,-r选项表示这是一个系统用户,-g mysql表示将用户添加到mysql组,-s /bin/false表示该用户的登录shell被设置为不可用,从而防止直接登录。
  3. 验证用户和用户组
    为了确保用户和用户组已成功创建,可以使用以下命令进行验证:
    id mysql
    

    输出应显示类似以下内容:
    uid=999(mysql) gid=999(mysql) groups=999(mysql)
    

通过以上步骤,您已经成功创建了专用的MySQL用户和用户组。这不仅有助于提高系统的安全性,还可以确保MySQL服务在独立的环境中运行,避免与其他系统服务发生冲突。

3.2 设置文件夹权限以保证安全性

在创建了专用用户和用户组之后,下一步是设置MySQL安装目录的文件夹权限,以确保只有授权用户才能访问和修改相关文件。这一步骤对于保护数据库的安全性和完整性至关重要。以下是详细的设置步骤:

  1. 更改MySQL安装目录的所有者和组
    首先,将MySQL安装目录的所有者和组更改为刚刚创建的mysql用户和mysql组。使用以下命令:
    sudo chown -R mysql:mysql /usr/local/mysql
    
  2. 设置文件夹权限
    接下来,设置MySQL安装目录及其子目录的权限,以确保只有mysql用户和mysql组可以读取、写入和执行相关文件。使用以下命令:
    sudo chmod -R 750 /usr/local/mysql
    
  3. 设置数据目录权限
    特别地,MySQL的数据目录需要更高的安全性。假设数据目录位于/usr/local/mysql/data,可以使用以下命令设置其权限:
    sudo chown -R mysql:mysql /usr/local/mysql/data
    sudo chmod -R 700 /usr/local/mysql/data
    
  4. 验证权限设置
    为了确保权限设置正确,可以使用以下命令进行验证:
    ls -ld /usr/local/mysql
    ls -ld /usr/local/mysql/data
    

    输出应显示类似以下内容:
    drwxr-x--- 12 mysql mysql 4096 Oct 10 14:30 /usr/local/mysql
    drwx------ 2 mysql mysql 4096 Oct 10 14:30 /usr/local/mysql/data
    

通过以上步骤,您已经成功设置了MySQL安装目录及其数据目录的文件夹权限。这不仅有助于保护数据库的安全性,还可以防止未经授权的访问和修改,确保MySQL服务的稳定运行。

四、安装与配置

4.1 安装libaio依赖解决特定问题

在Ubuntu 24.04系统上进行MySQL 8.4.3 LTS的离线安装时,安装libaio依赖是确保数据库正常运行的关键步骤之一。libaio库提供了异步I/O操作的支持,这对于提高MySQL的性能和稳定性至关重要。以下是详细的安装步骤:

  1. 更新软件包列表
    在安装任何新的软件包之前,建议先更新软件包列表,以确保获取最新的软件包信息。使用以下命令:
    sudo apt-get update
    
  2. 安装libaio
    接下来,安装libaio库。这可以通过以下命令实现:
    sudo apt-get install libaio1
    
  3. 验证安装
    为了确保libaio库已成功安装,可以使用以下命令进行验证:
    dpkg -l | grep libaio
    

    输出应显示类似以下内容:
    ii  libaio1:amd64 0.3.112-5 amd64 Linux AIO access library
    

通过以上步骤,您已经成功安装了libaio依赖,解决了Ubuntu 24.04系统上的特定问题,为MySQL 8.4.3 LTS的顺利安装打下了坚实的基础。

4.2 数据库初始化及my.cnf文件配置

在完成依赖项的安装后,接下来的重要步骤是进行数据库的初始化和配置my.cnf文件。这一步骤不仅确保了数据库的初始状态,还为后续的性能优化和安全管理奠定了基础。以下是详细的步骤:

  1. 初始化数据库
    首先,切换到MySQL的安装目录,并使用mysqld命令初始化数据库。使用以下命令:
    cd /usr/local/mysql
    sudo bin/mysqld --initialize --user=mysql
    

    初始化过程中,系统会生成一个临时的root用户密码,记录下来以备后续使用。
  2. 配置my.cnf文件
    接下来,编辑my.cnf文件以配置MySQL的各项参数。创建或编辑/etc/my.cnf文件,添加以下内容:
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/var/run/mysqld/mysqld.sock
    log-error=/var/log/mysql/error.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    # 性能优化
    innodb_buffer_pool_size=1G
    innodb_log_file_size=256M
    innodb_flush_log_at_trx_commit=1
    max_connections=150
    
    # 安全设置
    bind-address=127.0.0.1
    skip-name-resolve
    
  3. 创建必要的目录和文件
    确保创建必要的目录和文件,并设置适当的权限。使用以下命令:
    sudo mkdir -p /var/run/mysqld
    sudo chown mysql:mysql /var/run/mysqld
    sudo touch /var/log/mysql/error.log
    sudo chown mysql:mysql /var/log/mysql/error.log
    

通过以上步骤,您已经成功初始化了MySQL数据库,并配置了my.cnf文件,为后续的启动和使用做好了准备。

4.3 环境变量设置与MySQL服务启动

在完成数据库初始化和配置文件设置后,接下来的步骤是设置环境变量并启动MySQL服务。这一步骤确保了MySQL能够在系统中正常运行,并且用户可以方便地进行管理和操作。以下是详细的步骤:

  1. 设置环境变量
    为了方便使用MySQL命令,需要将MySQL的bin目录添加到系统的环境变量中。编辑/etc/profile文件,添加以下内容:
    export PATH=$PATH:/usr/local/mysql/bin
    

    使环境变量生效,使用以下命令:
    source /etc/profile
    
  2. 启动MySQL服务
    使用以下命令启动MySQL服务:
    sudo bin/mysqld_safe --user=mysql &
    
  3. 验证MySQL服务状态
    为了确保MySQL服务已成功启动,可以使用以下命令进行验证:
    sudo systemctl status mysql
    

    输出应显示MySQL服务正在运行。
  4. 登录MySQL并进行相关设置
    使用临时的root用户密码登录MySQL:
    mysql -u root -p
    

    登录后,进行相关设置,如修改root用户密码和授权:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    FLUSH PRIVILEGES;
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;
    

通过以上步骤,您已经成功设置了环境变量并启动了MySQL服务,确保了MySQL在Ubuntu 24.04系统上的正常运行。这不仅为您的数据库应用提供了强大的支持,还为您后续的开发和维护工作打下了坚实的基础。

五、MySQL服务管理与授权

5.1 登录MySQL并进行相关设置

在完成了MySQL 8.4.3 LTS的安装和初始化之后,接下来的步骤是登录MySQL并进行相关的设置。这一步骤不仅确保了数据库的初始状态,还为后续的管理和使用奠定了基础。以下是详细的登录步骤和相关设置:

  1. 登录MySQL
    使用临时的root用户密码登录MySQL。在终端中输入以下命令:
    mysql -u root -p
    

    输入临时密码后,您将进入MySQL的命令行界面。
  2. 查看当前用户
    为了确认您已成功登录,可以使用以下命令查看当前用户:
    SELECT USER();
    

    输出应显示当前登录的用户为root@localhost
  3. 查看数据库列表
    使用以下命令查看当前系统中的所有数据库:
    SHOW DATABASES;
    

    输出将列出所有可用的数据库,包括默认的information_schemamysqlperformance_schemasys等系统数据库。
  4. 查看表结构
    为了更好地了解数据库的结构,可以使用以下命令查看某个数据库中的表结构。例如,查看mysql数据库中的表:
    USE mysql;
    SHOW TABLES;
    

通过以上步骤,您已经成功登录到MySQL并进行了初步的检查。接下来,我们将进行更为重要的设置,如创建root用户、修改密码和授权操作。

5.2 创建root用户、修改密码和授权操作

在MySQL中,root用户拥有最高的权限,因此确保其安全性和权限设置是非常重要的。以下是详细的步骤,帮助您创建root用户、修改密码并进行授权操作:

  1. 修改root用户密码
    为了提高安全性,建议立即修改root用户的默认密码。使用以下命令修改密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    

    请将新密码替换为您希望设置的强密码。
  2. 刷新权限
    修改密码后,需要刷新权限以使更改生效。使用以下命令:
    FLUSH PRIVILEGES;
    
  3. 创建新的root用户
    如果您希望创建一个新的root用户,可以使用以下命令:
    CREATE USER 'new_root'@'localhost' IDENTIFIED BY '新密码';
    

    请将new_root新密码替换为您希望使用的用户名和密码。
  4. 授予权限
    为了确保新创建的root用户拥有所有权限,可以使用以下命令:
    GRANT ALL PRIVILEGES ON *.* TO 'new_root'@'localhost' WITH GRANT OPTION;
    

    这条命令授予新用户对所有数据库和表的全部权限,并允许其授予权限给其他用户。
  5. 再次刷新权限
    授予权限后,再次刷新权限以确保更改生效:
    FLUSH PRIVILEGES;
    
  6. 退出MySQL
    完成所有设置后,使用以下命令退出MySQL:
    EXIT;
    

通过以上步骤,您已经成功创建了root用户、修改了密码并进行了授权操作。这不仅提高了数据库的安全性,还为后续的管理和使用提供了便利。确保您的密码足够复杂,并定期更换,以进一步增强系统的安全性。

六、快速部署脚本

6.1 提供快速部署脚本

在完成上述所有步骤后,为了进一步简化MySQL 8.4.3 LTS在Ubuntu 24.04系统上的离线安装过程,我们提供了一个快速部署脚本。这个脚本集成了所有必要的安装和配置步骤,使得用户可以在几分钟内完成整个安装过程。以下是脚本的详细内容:

#!/bin/bash

# 更新软件包列表
sudo apt-get update

# 安装libaio依赖
sudo apt-get install -y libaio1

# 创建MySQL用户和用户组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

# 下载并解压MySQL安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz
sudo mv mysql-8.4.3-linux-glibc2.12-x86_64 /usr/local/mysql

# 设置文件夹权限
sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod -R 750 /usr/local/mysql
sudo chown -R mysql:mysql /usr/local/mysql/data
sudo chmod -R 700 /usr/local/mysql/data

# 初始化数据库
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql

# 配置my.cnf文件
sudo tee /etc/my.cnf > /dev/null <<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/var/run/mysqld/mysqld.sock
log-error=/var/log/mysql/error.log
pid-file=/var/run/mysqld/mysqld.pid

# 性能优化
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
max_connections=150

# 安全设置
bind-address=127.0.0.1
skip-name-resolve
EOF

# 创建必要的目录和文件
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo touch /var/log/mysql/error.log
sudo chown mysql:mysql /var/log/mysql/error.log

# 设置环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile
source /etc/profile

# 启动MySQL服务
sudo bin/mysqld_safe --user=mysql &

# 验证MySQL服务状态
sudo systemctl status mysql

# 登录MySQL并进行相关设置
echo "请使用临时的root用户密码登录MySQL并进行相关设置"

6.2 脚本使用说明与注意事项

使用说明

  1. 下载脚本
    将上述脚本保存为一个文件,例如mysql_install.sh
  2. 赋予执行权限
    使用以下命令赋予脚本执行权限:
    chmod +x mysql_install.sh
    
  3. 运行脚本
    在终端中运行脚本:
    ./mysql_install.sh
    

注意事项

  1. 网络连接
    脚本中包含了从MySQL官方网站下载安装包的步骤,因此在运行脚本前,请确保您的系统能够访问互联网。如果您已经在本地准备好了安装包,可以修改脚本中的下载部分,直接使用本地路径。
  2. 系统权限
    脚本中涉及多个需要root权限的操作,因此请确保您以root用户或使用sudo权限运行脚本。
  3. 临时密码
    在初始化数据库时,系统会生成一个临时的root用户密码。请务必记录下这个密码,以便后续登录MySQL进行相关设置。
  4. 环境变量
    脚本中设置了环境变量,使MySQL的命令可以在终端中直接使用。如果您已经设置了其他环境变量,请注意不要覆盖原有的设置。
  5. 日志文件
    脚本中配置了MySQL的日志文件路径。请确保日志文件所在的目录存在,并且MySQL用户有写入权限。

通过使用这个快速部署脚本,您可以大大简化MySQL 8.4.3 LTS在Ubuntu 24.04系统上的离线安装过程,节省时间和精力,确保安装过程的顺利进行。希望这个脚本能为您的数据库部署带来便利。

七、总结

本文详细介绍了如何在Ubuntu 24.04操作系统上进行MySQL 8.4.3 LTS版本的离线安装。从环境配置和前期准备,到下载与上传安装包,再到用户与权限设置、安装与配置,以及MySQL服务管理与授权,每个步骤都进行了详细的说明。通过本文的指导,用户可以顺利地完成MySQL 8.4.3 LTS的离线安装,并确保系统的稳定性和安全性。此外,本文还提供了一个快速部署脚本,帮助用户简化安装流程,快速完成MySQL的离线安装。希望本文能为您的数据库部署工作提供有价值的参考和帮助。