Linux下安装mysql8.0(以tar.xz包安装--编译安装)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。

在Linux系统下通过编译安装MySQL 8.0,采用tar.xz源码包的方式,是一种灵活且控制度高的安装方法。以下是一个详尽的步骤指南,旨在帮助您顺利完成安装过程,并确保安装后的MySQL 8.0能够正常运行。

准备工作

  1. 系统要求:确保您的Linux系统满足MySQL 8.0的最低硬件和软件要求,包括但不限于支持的Linux内核版本、glibc版本等。

  2. 依赖安装:安装必要的开发工具和库,用于编译MySQL源代码。这通常包括 gcc, cmake, openssl-devel, ncurses-devel, bison, flex, libaio-devel等。您可以使用如下命令安装这些依赖(以yum为例):

    sudo yum install gcc gcc-c++ cmake openssl-devel ncurses-devel bison flex libaio-devel
    ​
    

下载MySQL源码包

  1. 访问MySQL官方网站的下载页面(https://dev.mysql.com/downloads/mysql/),找到MySQL 8.0系列的tar.xz源码包。选择适合您系统架构的版本,比如 mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz

  2. 使用 wget命令直接从网页链接下载到服务器上,例如:

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
    ​
    

    其中 xx代表具体版本号,请替换为实际版本号。

解压与配置

  1. 解压缩下载的tar.xz文件:

    sudo tar xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz
    ​
    
  2. 将解压后的目录移动到一个合适的位置,比如 /usr/local/mysql

    sudo mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql
    ​
    

配置与编译

  1. 进入MySQL源码目录:

    cd /usr/local/mysql
    ​
    
  2. 执行配置脚本,指定安装路径和其它选项。这里我们指定安装到 /usr/local/mysql,并启用SSL支持:

    sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_SSL=yes
    ​
    
  3. 编译并安装MySQL:

    sudo make
    sudo make install
    ​
    

初始化MySQL

  1. 更改MySQL数据目录的所有权给MySQL用户(如果尚未创建,先创建MySQL用户和组):

    sudo groupadd mysql
    sudo useradd -r -g mysql -s /bin/false mysql
    sudo chown -R mysql:mysql /usr/local/mysql
    ​
    
  2. 初始化MySQL数据库:

    sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    ​
    

    注意:初始化过程会输出root用户的临时密码,务必记录下来。

配置系统服务

  1. 创建MySQL服务启动脚本,并将其放置到 /etc/init.d目录下(示例适用于Systemd系统):

    sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    sudo chmod +x /etc/init.d/mysqld
    ​
    
  2. 设置MySQL服务开机启动,并启动MySQL服务:

    sudo systemctl enable mysqld
    sudo systemctl start mysqld
    ​
    

安全性增强

  1. 登录MySQL并修改root用户的密码:

    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
    ​
    
  2. 执行MySQL的安全脚本以进一步增强安全设置:

    mysql_secure_installation
    ​
    

测试安装

最后,通过简单的查询来测试MySQL是否安装成功:

mysql -u root -p -e "SHOW DATABASES;"
​

如果一切顺利,您将看到MySQL的默认数据库列表,标志着MySQL 8.0已经成功安装并运行在您的Linux系统上了。

总结

通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
2月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
1月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
453 20
|
2月前
|
关系型数据库 MySQL Linux
安装MySQL 5.7到红帽系RHEL8+系列上
本文介绍了在RHEL 8及以上系统中安装MySQL 5.7的两种方法:解压安装与RPM包安装。涵盖环境准备、目录配置、数据盘挂载、初始化及服务启动等关键步骤,适用于红帽系(8+)部署MySQL 5.7。
|
30天前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
130 10
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
332 11
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
642 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
485 21
|
3月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
3月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
233 13
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总