mysql如何使用源码安装_mysql源码安装操作方法

c++kquote>源码安装MySQL可自定义编译参数,适合高性能需求场景。需先安装GCC、CMake、Boost等依赖,CentOS用yum,Ubuntu用apt-get。通过Git克隆MySQL 8.0源码并进入目录,创建build子目录运行CMake配置,指定安装路径、字符集、SSL、ZLIB和Boost等选项。若缺Boost可运行bootstrap.sh自动下载。执行make -j$(nproc)编译并make install安装。随后初始化数据库,设置mysql用户,生成临时root密码。复制mysql.server到/etc/init.d/配置启动脚本,或使用systemd管理服务。启动后登录并用ALTER USER修改root密码。整个过程耗时较长,但便于深入理解MySQL机制,注意备份配置与日志以便排错。

MySQL 使用源码安装可以更灵活地自定义编译参数,适合对性能或功能有特殊要求的场景。虽然过程比二进制包安装复杂一些,但掌握后能更好地理解 MySQL 的运行机制。以下是详细的源码安装操作方法。

准备编译环境与依赖

在开始编译前,确保系统已安装必要的开发工具和库文件。

  • 安装 GCC 编译器、CMake、make 等基础工具
  • 安装 Boost 库(MySQL 5.7+ 需要)
  • 安装 OpenSSL、zlib、ncurses 等依赖库

以 CentOS 为例:

yum install -y gcc gcc-c++ make cmake openssl-devel zlib-devel ncurses-devel bison git

如果使用 Ubuntu/Debian:

apt-get install build-essential cmake libssl-dev zlib1g-dev libncurses5-dev libboost-all-dev

下载并解压 MySQL 源码

从官方 GitHub 或 MySQL 官网获取源码包。

使用 Git 克隆(以 MySQL 8.0 为例):

git clone https://github.com/mysql/mysql-server.git -b 8.0 mysql-8.0-source

进入源码目录:

cd mysql-8.0-source

配置 CMake 编译选项

在源码根目录创建构建目录,避免污染源码:

mkdir build && cd build

运行 CMake 配置,常用参数如下:

cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_unicode_ci \ -DENABLED_LOCAL_INFILE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_BOOST=../boost

关键参数说明:

  • CMAKE_INSTALL_PREFIX:指定安装路径
  • DEFAULT_CHARSET/COLLATION:设置默认字符集
  • WITH_BOOST:指定 Boost 路径(源码中通常自带)
  • ENABLED_LOCAL_INFILE:允许 LOAD DATA LOCAL INFILE

若提示 Boost 缺失,可执行脚本自动下载:

scripts/bootstrap.sh

编译与安装

配置完成后开始编译,根据 CPU 核心数加快速度:

make -j$(nproc)

编译成功后安装到指定目录:

make install

整个过程可能耗时 20 分钟到数小时,取决于机器性能。

初始化 MySQL 数据库

安装完成后,进入安装目录进行初始化:

cd /usr/local/mysql

执行初始化命令:

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

记录生成的临时 root 密码(出现在日志末尾)。

若未创建 mysql 用户,先执行:

useradd -r -s /sbin/nologin mysql

配置启动脚本与开机自启

复制服务脚本到系统目录:

cp support-files/mysql.server /etc/init.d/mysqld

设置权限并加入开机启动(CentOS 6 风格):

chmod +x /etc/init.d/mysqld
chkconfig --add mysqld

或使用 systemd(现代系统):

创建 /etc/systemd/system/mysqld.service 文件,写入标准 unit 内容后执行:

systemctl daemon-reload
systemctl enable mysqld

启动服务并设置密码

启动 MySQL:

/etc/init.d/mysqld start

登录并修改密码:

bin/mysql -u root -p

输入临时密码后执行:

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

基本上就这些。源码安装虽然步骤多,但每一步都可控。注意备份配置、保留编译日志,便于排查问题。只要依赖齐全、参数正确,成功率很高。