蛙扑下载站:安全、绿色、放心的专业下载站! 首页|最近更新|专题集合|站内导航

deepin mysql源码安装教程

时间:2026-10-03 18:17:12 来源:www.vaopo.com 人气:人

在Deepin系统中使用包管理器安装MySQL虽然方便,但有时我们需要特定版本、自定义编译参数或学习底层机制,这时候源码安装就是最佳选择。本篇教程将带你从零开始,在Deepin系统上完整编译并配置MySQL数据库,全程使用大白话讲解,避开复杂的术语坑。

准备工作与依赖安装

源码编译最怕的就是缺东少西导致报错中断。Deepin基于Debian,我们可以直接用apt搞定基础环境。打开终端,先更新软件源列表,然后安装编译MySQL必须的构建工具和常用库。执行以下命令:

sudo apt update && sudo apt install build-essential cmake libncurses5-dev libssl-dev openssl libcurl4-gnutls-dev libkrb5-dev bison libreadline-dev libboost-all-dev pkg-config -y

这些包涵盖了C与C++编译器、CMake构建系统、字符集支持、SSL加密库以及Boost组件。如果网络较慢,可以换成国内镜像源加速下载。安装完成后,建议重启一次终端会话,确保所有环境变量生效。

获取MySQL源代码

去MySQL官方开发者网站下载对应版本的源码包。目前稳定且广泛使用的版本是8.0系列。推荐使用wget直接下载到用户主目录,避免权限问题。命令如下:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz

注意把xx替换为你实际查看到的版本号。下载完成后,解压文件。tar -xzf mysql-8.0.xx.tar.gz进入解压后的目录。此时你会看到一堆C语言文件和配置文件,这就是MySQL的原始代码库。

配置编译参数

编译前必须用CMake生成Makefile。源码目录下的文档会列出详细选项,我们挑选最实用的参数即可。在源码根目录执行:

mkdir build && cd build

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_BOOST=/usr/include/boost

这里解释几个关键点。安装路径默认放在/usr/local/mysql,数据目录单独划分以便备份。启用InnoDB等存储引擎保证生产可用性。字符集强制设置为utf8mb4,彻底解决中文乱码和特殊字符存储问题。Boost路径根据实际系统情况填写,Deepin通常自带或者需要额外安装对应开发包。

执行编译与安装

配置成功后,就可以开始耗时最长的编译环节了。为了保证速度,利用多核CPU并行处理。假设你的机器有多个核心,可以使用nproc参数自动匹配:

make -j$(nproc)

这个过程可能持续半小时到一小时,取决于硬件性能。期间屏幕会滚动大量日志,只要不出现致命错误就不用管它。编译全部通过后,执行安装命令:

sudo make install

这一步会把编译好的二进制文件、库文件和头文件拷贝到指定目录。整个过程不需要手动移动任何文件,CMake早已规划好路径。

初始化数据库与服务配置

安装完毕不等于能用,还需要创建运行用户和初始化数据目录。为了安全,不要使用root直接跑数据库。创建mysql用户和组:

sudo groupadd mysql && sudo useradd -r -g mysql -s /bin/false mysql

修改安装目录的所有权,让mysql用户有读写权限:

sudo chown -R mysql:mysql /usr/local/mysql

接下来初始化数据字典并生成临时密码。进入安装目录的bin文件夹,执行:

cd /usr/local/mysql/bin && sudo ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

终端最后会打印出一行包含临时密码的提示,务必记下来。之后生成系统服务文件,让Deepin的systemd能管理它。新建一个mysql.service文件放入/lib/systemd/system/,内容包含[Unit]段描述名称,[Service]段定义启动停止脚本和用户组,[Install]段设置开机自启目标。

重载守护进程并启动服务:

sudo systemctl daemon-reload && sudo systemctl enable mysql && sudo systemctl start mysql

安全设置与日常验证

服务跑起来后,用刚才记录的临时密码登录。输入sudo ./mysql -u root -p,粘贴密码进入客户端。登录后第一件事就是修改root密码并刷新权限:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的强密码';

FLUSH PRIVILEGES;

检查状态是否正常,执行show databases;看能否列出基础系统库。如果一切顺利,说明源码安装完全成功。后续可以通过systemctl status mysql随时查看运行状态,用标准的init脚本进行重启操作。源码安装虽然步骤繁琐,但能完全掌控数据库的行为逻辑。掌握这套流程后,无论是调试插件还是移植到其他Linux发行版,都能做到游刃有余。遇到问题优先查看安装目录下的错误日志,那里记录了最准确的排错线索。