Linux下MySQL源码包安装全攻略
linux mysql源码包安装教程

首页 2025-07-08 13:23:13



Linux MySQL源码包安装教程:深度解析与实战指南 在数据驱动的时代,MySQL作为开源的关系型数据库管理系统,凭借其高性能、稳定性和广泛的社区支持,成为了众多开发者和企业的首选

    尽管大多数Linux发行版提供了预编译的MySQL二进制包,通过包管理器(如apt、yum)安装简便快捷,但有时候,出于性能优化、定制化需求或学习目的,从源码编译安装MySQL成为了一个不可或缺的技能

    本文将详细指导你如何在Linux环境下,通过源码包安装MySQL,确保每一步都清晰明了,让你轻松掌握这一高级技能

     一、准备工作 1. 系统环境检查 首先,确保你的Linux系统满足MySQL的安装要求

    MySQL源码编译通常需要以下基本环境: - Linux内核版本:建议使用较新的稳定版,如CentOS7/8、Ubuntu18.04/20.04等

     - GCC编译器:MySQL源码需要GCC进行编译

     - CMake构建工具:MySQL从5.5版本开始使用CMake替代了autotools作为构建系统

     -必要的开发库:如`libncurses5-dev`、`libssl-dev`等,这些库在编译过程中可能会被依赖

     2. 更新系统并安装依赖 在CentOS上,你可以使用以下命令更新系统并安装必要的依赖: bash sudo yum update -y sudo yum groupinstall Development Tools -y sudo yum install cmake ncurses-devel openssl-devel -y 在Ubuntu上,相应的命令为: bash sudo apt update sudo apt upgrade -y sudo apt install build-essential cmake libncurses5-dev libssl-dev -y 3. 创建用户和组 为了安全起见,建议为MySQL创建一个专用的用户和组: bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 二、下载MySQL源码 访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/),选择适合你系统的源码包版本

    通常,你会找到`.tar.gz`格式的压缩文件

    使用`wget`或浏览器下载后,通过`tar`命令解压: bash wget https://dev.mysql.com/get/Downloads/MySQL-X.Y.Z/mysql-X.Y.Z.tar.gz tar -zxvf mysql-X.Y.Z.tar.gz cd mysql-X.Y.Z 将`X.Y.Z`替换为你下载的具体版本号

     三、配置与编译 1. 运行CMake进行配置 CMake配置阶段是编译前的关键步骤,它决定了MySQL的编译选项和安装路径

    以下是一个基本的CMake命令示例: bash mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/mysql -DDATADIR=/var/lib/mysql -DWITH_SSL=system -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci 这里的参数解释如下: -`CMAKE_INSTALL_PREFIX`:指定MySQL的安装目录

     -`SYSCONFDIR`:配置文件存放目录

     -`DATADIR`:数据库文件存放目录

     -`WITH_SSL`:启用SSL支持

     -`DEFAULT_CHARSET`和`DEFAULT_COLLATION`:设置默认字符集和排序规则

     2. 编译与安装 配置完成后,使用`make`命令进行编译

    根据系统性能和源码大小,编译过程可能需要较长时间

    编译完成后,执行`make install`进行安装: bash make sudo make install 四、初始化数据库与启动服务 1. 初始化数据库 在安装目录下执行`mysqld --initialize`命令来初始化数据库

    注意,这一步会生成一个临时的root密码,请务必记录: bash cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql 输出中会显示类似`temporary password is generated for root@localhost: A1b2C3d4e5`的信息

     2. 设置目录权限 确保MySQL数据目录和配置文件目录的权限正确: bash sudo chown -R mysql:mysql /var/lib/mysql sudo chown -R mysql:mysql /etc/mysql 3. 配置系统服务 为了方便管理,可以将MySQL设置为系统服务

    创建一个systemd服务文件: bash sudo nano /etc/systemd/system/mysql.service 内容如下: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 保存并退出后,重新加载systemd配置并启动MySQL服务: bash sudo systemctl daemon-reload sudo systemctl start mysql sudo systemctl enable mysql 4. 安全配置 使用初始化时生成的临时密码登录MySQL,并运行`mysql_secure_installation`进行安全配置,包括修改root密码、删除匿名用户、禁止远程root登录、删除测试数据库等

     bash /usr/local/mysql/bin/mysql -u root -p 然后根据提示操作即可

     五、验证安装 最后,通过简单的S

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道