首页
API市场
每日免费
OneAPI
xAPI
易源定价
技术博客
易源易彩
帮助中心
控制台
登录/注册
技术博客
Ubuntu 24.04下MySQL 8.4.3 LTS离线安装全攻略
Ubuntu 24.04下MySQL 8.4.3 LTS离线安装全攻略
作者:
万维易源
2024-11-19
Ubuntu
MySQL
离线安装
部署脚本
### 摘要 本文旨在指导用户如何在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官方下载页面](https://dev.mysql.com/downloads/mysql/) - **依赖项**:在Ubuntu 24.04上,您需要安装`libaio`库,以解决某些特定的问题。可以通过以下命令安装: ```bash sudo apt-get update sudo apt-get install libaio1 ``` - **系统配置**: - **内核参数**:为了优化MySQL的性能,建议调整一些内核参数。编辑`/etc/sysctl.conf`文件,添加以下内容: ```bash 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`文件,增加以下内容: ```bash 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官方下载页面](https://dev.mysql.com/downloads/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`,可以使用以下命令: ```bash 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. **进入目标目录**: 登录到目标服务器,进入您上传安装包的目录。例如: ```bash ssh user@192.168.1.100 cd /home/user/ ``` 2. **解压安装包**: 使用`tar`命令解压安装包。假设安装包名为`mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz`,可以使用以下命令: ```bash tar -xvf mysql-8.4.3-linux-glibc2.12-x86_64.tar.xz ``` 3. **移动解压后的文件**: 将解压后的文件移动到一个合适的位置,例如`/usr/local/mysql`。可以使用以下命令: ```bash sudo mv mysql-8.4.3-linux-glibc2.12-x86_64 /usr/local/mysql ``` 4. **创建符号链接**: 为了方便使用,可以创建一个符号链接,指向MySQL的安装目录。使用以下命令: ```bash 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服务的用户组。这可以通过以下命令实现: ```bash sudo groupadd mysql ``` 2. **创建MySQL用户**: 接下来,创建一个专门用于运行MySQL服务的用户,并将其添加到刚刚创建的用户组中。使用以下命令: ```bash sudo useradd -r -g mysql -s /bin/false mysql ``` 这里,`-r`选项表示这是一个系统用户,`-g mysql`表示将用户添加到`mysql`组,`-s /bin/false`表示该用户的登录shell被设置为不可用,从而防止直接登录。 3. **验证用户和用户组**: 为了确保用户和用户组已成功创建,可以使用以下命令进行验证: ```bash id mysql ``` 输出应显示类似以下内容: ``` uid=999(mysql) gid=999(mysql) groups=999(mysql) ``` 通过以上步骤,您已经成功创建了专用的MySQL用户和用户组。这不仅有助于提高系统的安全性,还可以确保MySQL服务在独立的环境中运行,避免与其他系统服务发生冲突。 ### 3.2 设置文件夹权限以保证安全性 在创建了专用用户和用户组之后,下一步是设置MySQL安装目录的文件夹权限,以确保只有授权用户才能访问和修改相关文件。这一步骤对于保护数据库的安全性和完整性至关重要。以下是详细的设置步骤: 1. **更改MySQL安装目录的所有者和组**: 首先,将MySQL安装目录的所有者和组更改为刚刚创建的`mysql`用户和`mysql`组。使用以下命令: ```bash sudo chown -R mysql:mysql /usr/local/mysql ``` 2. **设置文件夹权限**: 接下来,设置MySQL安装目录及其子目录的权限,以确保只有`mysql`用户和`mysql`组可以读取、写入和执行相关文件。使用以下命令: ```bash sudo chmod -R 750 /usr/local/mysql ``` 3. **设置数据目录权限**: 特别地,MySQL的数据目录需要更高的安全性。假设数据目录位于`/usr/local/mysql/data`,可以使用以下命令设置其权限: ```bash sudo chown -R mysql:mysql /usr/local/mysql/data sudo chmod -R 700 /usr/local/mysql/data ``` 4. **验证权限设置**: 为了确保权限设置正确,可以使用以下命令进行验证: ```bash 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. **更新软件包列表**: 在安装任何新的软件包之前,建议先更新软件包列表,以确保获取最新的软件包信息。使用以下命令: ```bash sudo apt-get update ``` 2. **安装libaio**: 接下来,安装`libaio`库。这可以通过以下命令实现: ```bash sudo apt-get install libaio1 ``` 3. **验证安装**: 为了确保`libaio`库已成功安装,可以使用以下命令进行验证: ```bash 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`命令初始化数据库。使用以下命令: ```bash cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql ``` 初始化过程中,系统会生成一个临时的root用户密码,记录下来以备后续使用。 2. **配置my.cnf文件**: 接下来,编辑`my.cnf`文件以配置MySQL的各项参数。创建或编辑`/etc/my.cnf`文件,添加以下内容: ```ini [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. **创建必要的目录和文件**: 确保创建必要的目录和文件,并设置适当的权限。使用以下命令: ```bash 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`文件,添加以下内容: ```bash export PATH=$PATH:/usr/local/mysql/bin ``` 使环境变量生效,使用以下命令: ```bash source /etc/profile ``` 2. **启动MySQL服务**: 使用以下命令启动MySQL服务: ```bash sudo bin/mysqld_safe --user=mysql & ``` 3. **验证MySQL服务状态**: 为了确保MySQL服务已成功启动,可以使用以下命令进行验证: ```bash sudo systemctl status mysql ``` 输出应显示MySQL服务正在运行。 4. **登录MySQL并进行相关设置**: 使用临时的root用户密码登录MySQL: ```bash mysql -u root -p ``` 登录后,进行相关设置,如修改root用户密码和授权: ```sql 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。在终端中输入以下命令: ```bash mysql -u root -p ``` 输入临时密码后,您将进入MySQL的命令行界面。 2. **查看当前用户**: 为了确认您已成功登录,可以使用以下命令查看当前用户: ```sql SELECT USER(); ``` 输出应显示当前登录的用户为`root@localhost`。 3. **查看数据库列表**: 使用以下命令查看当前系统中的所有数据库: ```sql SHOW DATABASES; ``` 输出将列出所有可用的数据库,包括默认的`information_schema`、`mysql`、`performance_schema`和`sys`等系统数据库。 4. **查看表结构**: 为了更好地了解数据库的结构,可以使用以下命令查看某个数据库中的表结构。例如,查看`mysql`数据库中的表: ```sql USE mysql; SHOW TABLES; ``` 通过以上步骤,您已经成功登录到MySQL并进行了初步的检查。接下来,我们将进行更为重要的设置,如创建root用户、修改密码和授权操作。 ### 5.2 创建root用户、修改密码和授权操作 在MySQL中,root用户拥有最高的权限,因此确保其安全性和权限设置是非常重要的。以下是详细的步骤,帮助您创建root用户、修改密码并进行授权操作: 1. **修改root用户密码**: 为了提高安全性,建议立即修改root用户的默认密码。使用以下命令修改密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 请将`新密码`替换为您希望设置的强密码。 2. **刷新权限**: 修改密码后,需要刷新权限以使更改生效。使用以下命令: ```sql FLUSH PRIVILEGES; ``` 3. **创建新的root用户**: 如果您希望创建一个新的root用户,可以使用以下命令: ```sql CREATE USER 'new_root'@'localhost' IDENTIFIED BY '新密码'; ``` 请将`new_root`和`新密码`替换为您希望使用的用户名和密码。 4. **授予权限**: 为了确保新创建的root用户拥有所有权限,可以使用以下命令: ```sql GRANT ALL PRIVILEGES ON *.* TO 'new_root'@'localhost' WITH GRANT OPTION; ``` 这条命令授予新用户对所有数据库和表的全部权限,并允许其授予权限给其他用户。 5. **再次刷新权限**: 授予权限后,再次刷新权限以确保更改生效: ```sql FLUSH PRIVILEGES; ``` 6. **退出MySQL**: 完成所有设置后,使用以下命令退出MySQL: ```sql EXIT; ``` 通过以上步骤,您已经成功创建了root用户、修改了密码并进行了授权操作。这不仅提高了数据库的安全性,还为后续的管理和使用提供了便利。确保您的密码足够复杂,并定期更换,以进一步增强系统的安全性。 ## 六、快速部署脚本 ### 6.1 提供快速部署脚本 在完成上述所有步骤后,为了进一步简化MySQL 8.4.3 LTS在Ubuntu 24.04系统上的离线安装过程,我们提供了一个快速部署脚本。这个脚本集成了所有必要的安装和配置步骤,使得用户可以在几分钟内完成整个安装过程。以下是脚本的详细内容: ```bash #!/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. **赋予执行权限**: 使用以下命令赋予脚本执行权限: ```bash chmod +x mysql_install.sh ``` 3. **运行脚本**: 在终端中运行脚本: ```bash ./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的离线安装。希望本文能为您的数据库部署工作提供有价值的参考和帮助。
最新资讯
DevOps自动化部署实践:Spring Boot 3与Serverless应用的端到端发布
加载文章中...
客服热线
客服热线请拨打
400-998-8033
客服QQ
联系微信
客服微信
商务微信
意见反馈