Linux系统安装MySQL源码指南
linux下安装mysql源码

首页 2025-06-16 02:03:58



Linux下安装MySQL源码:深度解析与实战指南 在Linux环境下,MySQL作为最流行的开源关系型数据库管理系统之一,广泛应用于各种企业级应用和开发环境中

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

    本文将详细讲解如何在Linux下从源码安装MySQL,确保每一步都清晰明了,让你轻松掌握这一高级技能

     一、准备工作 在进行源码编译安装之前,确保你的系统满足以下基本条件: 1.操作系统:本文基于常见的Linux发行版,如Ubuntu、CentOS等,步骤大同小异,请根据具体发行版适当调整

     2.依赖工具:安装必要的编译工具和库文件

    这通常包括gcc、g++、make、cmake、bison、ncurses-devel(或libncurses5-dev)、libaio-dev等

     3.用户权限:拥有sudo权限或root账户,以便安装软件包和设置服务

     4.下载MySQL源码:访问MySQL官方网站或官方GitHub仓库获取最新稳定版本的源码包

     二、安装编译依赖 Ubuntu/Debian系 bash sudo apt update sudo apt install -y build-essential cmake libncurses5-dev libssl-dev bison libaio-dev CentOS/RHEL系 bash sudo yum groupinstall -y Development Tools sudo yum install -y cmake ncurses-devel openssl-devel bison libaio-devel 三、下载MySQL源码 访问【MySQL官方下载页面】(https://dev.mysql.com/downloads/mysql/)或【MySQL GitHub仓库】(https://github.com/mysql/mysql-server),找到你需要的MySQL版本,下载对应的源码压缩包(通常是`.tar.gz`格式)

     例如,使用wget命令下载: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz 将`xx`替换为具体的版本号

     四、解压源码包 将下载的源码包解压到指定目录,通常选择`/usr/local/src`作为存放源码的位置: bash sudo tar -zxvf mysql-8.0.xx.tar.gz -C /usr/local/src/ cd /usr/local/src/mysql-8.0.xx/ 五、创建构建目录并运行CMake 在源码目录下,创建一个独立的构建目录,这是为了保持源码目录的清洁,便于后续可能的重新编译或清理操作

     bash mkdir build cd build 接下来,使用CMake配置构建选项

    CMake是一个跨平台的自动化构建系统,能够生成适合不同平台的Makefile或其他构建文件

    MySQL的CMake配置非常灵活,允许用户指定各种编译选项

     bash cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_BOOST=boost -DWITH_SSL=system -DDOWNLOAD_BOOST=1 -DWITH_EMBEDDED_SERVER=OFF -DWITH_DEBUG=OFF 这里的配置选项解释如下: -`CMAKE_INSTALL_PREFIX`:指定MySQL的安装目录

     -`MYSQL_DATADIR`:指定MySQL数据文件的存放目录

     -`SYSCONFDIR`:指定MySQL配置文件的存放目录

     -`WITH_BOOST`:指定Boost库的路径(如果使用系统自带的Boost库,则设为`system`)

     -`WITH_SSL`:启用SSL支持

     -`DOWNLOAD_BOOST`:如果系统没有安装Boost库,设置为1让CMake自动下载并使用Boost

     -`WITH_EMBEDDED_SERVER`:是否编译嵌入式服务器,一般设置为OFF

     -`WITH_DEBUG`:是否启用调试模式,生产环境通常设置为OFF

     注意:根据你的具体需求,可能需要调整上述选项

    例如,如果你已经手动安装了Boost库,可以省略`DOWNLOAD_BOOST`选项,并正确设置`WITH_BOOST`路径

     六、编译与安装 配置完成后,开始编译过程

    这个过程可能会比较耗时,取决于你的硬件配置和选择的MySQL版本

     bash make sudo make install 七、初始化数据库 安装完成后,需要初始化数据库

    这一步会创建系统表、权限表等必要的数据库结构

     bash cd /usr/local/mysql/bin sudo ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 注意输出的日志信息,其中会包含临时root密码,记下这个密码,稍后需要用到

     八、设置MySQL服务 为了方便管理MySQL服务,可以创建一个systemd服务单元文件

    以下是一个示例: ini /etc/systemd/system/mysql.service 【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 PIDFile=/usr/local/mysql/data/mysql.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 创建mysql用户和组(如果尚未创建): bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 更改数据目录和MySQL安装目录的所有权: bash sudo chown -R mysql:mysql /usr/local/mysql sudo chown -R mysql:mysql /usr/local/mysql/data 启动MySQL服务并设置开机自启: bash sudo systemctl daemon-reload sudo systemctl start mysql sudo systemctl enable mysql 九、安全配置与初次登录 使用初始化时生成的临时root密码登录MySQL: bash mysql_secure_installation 按照提示,你将有机会更改root密码、删除匿名用户、禁止root远程登录、删除测试数据库以及重新加载权限表

    这是提高MySQL安全性的重要步骤

     十、环境变量配置 为了方便在命令行中使用mysql命令,可以将MySQL的bin目录添加到PATH环境变量中

    编辑`~/.bashrc`或`~/.bash_profile`文件,添加以下行: bash export PATH=/usr/local/mysql/bin:$PATH 然后执行`source ~/.bashrc`使更改生效

     十一、验证安装 最后,通

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