Debian系统下源码编译安装MySQL教程

debian 源码编译安装mysql

时间:2025-06-11 04:59


从源码编译安装 MySQL 在 Debian 系统上的权威指南 在数据库管理领域,MySQL无疑是众多开发者和管理员的首选之一

    它以其高性能、可靠性和广泛的社区支持而著称

    尽管大多数 Linux 发行版(包括 Debian)都提供了预编译的 MySQL 二进制包,但有时候从源码编译安装 MySQL可能是必要的

    这样做的好处包括可以根据特定需求进行自定义配置、优化性能以及确保软件的最新性

    本文将详细介绍如何在 Debian 系统上从源码编译并安装 MySQL,确保每一步都准确无误,让你轻松掌握这一高级技能

     一、准备工作 1. 更新系统包列表 在开始之前,请确保你的 Debian 系统是最新的

    运行以下命令更新包列表并升级所有已安装的包: bash sudo apt update sudo apt upgrade -y 2. 安装必要的依赖 编译 MySQL 需要一系列开发工具和库

    使用以下命令安装这些依赖: bash sudo apt install -y build-essential cmake libncurses5-dev bison libssl-dev 这里解释一下每个包的作用: -`build-essential`:包含了编译 C/C++ 程序所需的编译器、链接器和构建工具

     -`cmake`:一个跨平台的自动化构建系统,用于配置和生成标准的构建文件

     -`libncurses5-dev`:提供字符界面处理库的开发文件

     -`bison`:一个语法分析器生成器,用于解析 MySQL 的源代码

     -`libssl-dev`:提供 SSL/TLS加密功能的开发库

     二、下载 MySQL 源码 1.访问 MySQL官方网站 前往 MySQL 的官方网站(https://dev.mysql.com/downloads/mysql/),选择适合你的版本

    通常,最新的稳定版本是首选

     2. 下载源码包 找到你选择的版本的源码包(通常是`.tar.gz` 格式),点击下载

    你也可以使用`wget` 命令直接在终端中下载: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz 请将`8.0.xx`替换为你实际下载的版本号

     3. 解压源码包 下载完成后,使用`tar` 命令解压源码包: bash tar -zxvf mysql-8.0.xx.tar.gz 解压后,你会得到一个名为`mysql-8.0.xx` 的目录

     三、配置和编译 MySQL 1. 创建构建目录 为了保持源码目录的清洁,建议在一个单独的构建目录中执行编译过程

    进入解压后的源码目录,并创建一个名为`build` 的子目录: bash cd mysql-8.0.xx mkdir build cd build 2. 运行 CMake 配置 在构建目录中,运行`cmake` 命令来配置编译选项

    以下是一个基本的配置命令示例: bash cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../../boost -DWITH_SSL=system 这里解释一下各个选项的含义: -`..`:指定源码目录的位置(相对于当前目录的父目录)

     -`DOWNLOAD_BOOST=1` 和`WITH_BOOST=../../boost`:指定自动下载并使用 Boost 库(MySQL依赖的一个 C++ 库)

    你可以将`../../boost`替换为你希望存放 Boost库的路径

     -`WITH_SSL=system`:指定使用系统提供的 SSL 库

     根据你的具体需求,你可能需要添加或修改其他 CMake 选项

    例如,如果你需要特定的字符集支持或优化性能,可以查阅 MySQL 的官方文档以获取更多选项

     3.编译 MySQL 配置完成后,使用`make` 命令开始编译过程: bash make 编译时间取决于你的系统性能和选择的编译选项

    在多核处理器上,你可以使用`-j` 选项来加速编译过程,例如`make -j4`(其中`4` 是你的 CPU 核心数)

     4. 安装 MySQL 编译成功后,使用`make install` 命令安装 MySQL: bash sudo make install 安装过程中,MySQL 的可执行文件、库文件、配置文件等将被复制到指定的安装目录(通常是`/usr/local/mysql`)

     四、配置 MySQL 1.初始化数据库 在安装完成后,你需要初始化 MySQL 的数据目录

    使用以下命令: bash sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql 这里,`--user=mysql` 指定 MySQL 服务运行的用户

    如果`mysql` 用户不存在,你需要先创建它: bash sudo useradd -m -s /bin/false mysql 初始化过程将生成一个临时密码,请记下这个密码,因为你在首次登录 MySQL 时需要使用它

     2. 设置权限 为了确保 MySQL 的数据目录和文件具有正确的权限,运行以下命令: bash sudo chown -R mysql:mysql /usr/local/mysql sudo chmod750 /usr/local/mysql/data 3. 配置 MySQL 服务 为了方便管理 MySQL 服务,你可以创建一个 systemd 服务单元文件

    以下是一个示例服务单元文件内容: 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/my.cnf LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 将上述内容保存为`/etc/systemd/system/mysql.service` 文件

    然后,重新加载 systemd 配置并启动 MySQL 服务: bash sudo systemctl daemon-reload sudo systemctl start mysql 设置 MySQL 服务开机自启: bash sudo systemctl enable mysql 4. 安全配置 首次登录 MySQL 并使用初始化时生成的临时密码

    然后,运行`mysql_secure_installation` 脚本来进行安全配置: bash /usr/local/mysql/bin/mysql_secure_installation 按照提示设置新的 root 密码、删除匿名用户、禁止 root远程登录以及删除测试数据库等

     五、验证安装 最后,验证 MySQL 是否成功安装并运行

    使用以下命令登录 MySQL: bash /usr/local/mysql/bin/mysql -u root -p 输入你设置的 root 密码后,你应该能够进入 MySQL命令行界面

    运行一些简单的 SQL 命令来测试数据库功能

     六、结论 从源码编译安装 MySQL 是一个复杂但强大的过程,它允许你根据特定需求进行高度自定义

    本