MySQL源码安装配置,如何正确完成Linux环境下的详细步骤?一文看懂

MySQL 源码安装配置指南(以 Ubuntu 为例)

安装依赖

sudo apt update
sudo apt install -y cmake build-essential 
libssl-dev libncurses5-dev libreadline-dev 
zlib1g-dev libboost-all-dev

下载源码

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.33.tar.gz
tar -zxvf mysql-boost-8.0.33.tar.gz
cd mysql-8.0.33

配置编译选项

mkdir build
cd build
cmake .. 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DMYSQL_DATADIR=/usr/local/mysql/data 
-DWITH_BOOST=../boost 
-DSYSCONFDIR=/etc 
-DDEFAULT_CHARSET=utf8mb4 
-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci 
-DENABLED_LOCAL_INFILE=ON 
-DWITH_SSL=system

编译安装

make -j$(nproc)  # 使用所有CPU核心加速编译
sudo make install

创建系统用户和目录

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo mkdir -p /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql

初始化数据库

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

注意:保存输出的临时 root 密码(格式:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 临时密码

mysql源码安装配置

配置文件设置

sudo cp support-files/mysql.server /etc/init.d/mysql
sudo vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock

启动服务

sudo /etc/init.d/mysql start

修改 root 密码

bin/mysql -u root -p  # 输入临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;

设置环境变量

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证安装

mysql -V
# 输出: mysql  Ver 8.0.33 for Linux on x86_64 (Source distribution)

常见问题解决

  1. CMake 错误

    • 检查缺失的依赖包,根据错误提示安装对应开发包
    • 清除 CMake 缓存:rm CMakeCache.txt
  2. 启动失败

    mysql源码安装配置

    tail -f /usr/local/mysql/data/主机名.err  # 查看错误日志
  3. 连接问题

    sudo ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock

卸载方法

sudo /etc/init.d/mysql stop
sudo rm -rf /usr/local/mysql
sudo rm -rf /etc/my.cnf /etc/init.d/mysql
sudo userdel mysql
sudo groupdel mysql

注意

mysql源码安装配置

  1. 编译过程可能耗时较长(30分钟至数小时)
  2. 确保系统有足够内存(建议 >2GB)
  3. 不同版本 Boost 要求不同,MySQL 8.0 要求 Boost 1.77.0
  4. 生产环境建议添加防火墙规则:sudo ufw allow 3306

通过以上步骤,您已完成 MySQL 的源码编译安装,可根据需要进一步优化配置参数。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/288292.html

(0)
上一篇 2026年2月8日 21:27
下一篇 2026年2月8日 21:35

相关推荐

  • 分布式数据库版本

    演进、核心特性与未来趋势分布式数据库版本的演进历程分布式数据库的版本演进,本质上是技术适应业务需求、突破传统架构局限的过程,早期版本的分布式数据库多以“分库分表”为核心,通过手动或半自动化的方式将数据分散到多个节点,以解决单机数据库的性能瓶颈和存储容量问题,这类版本(如早期的MySQL Sharding、Cob……

    2025年12月25日
    02440
  • 安全培训购买哪家好?如何选性价比高的安全培训课程?

    安全培训购买的核心价值与必要性在企业管理体系中,安全培训是保障员工生命安全、降低运营风险、提升生产效率的关键环节,随着国家安全生产法规的日益严格和行业竞争的加剧,企业通过购买专业安全培训服务,不仅能满足合规性要求,更能构建系统化的安全文化,从新员工入职三级教育到特种作业人员资质考核,从日常风险辨识到应急处置演练……

    2025年11月18日
    03350
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • Eclipse配置Oracle报错怎么办?Eclipse连接Oracle数据库教程

    在 Eclipse 中配置 Oracle 数据库连接的核心结论是:必须严格遵循“驱动包隔离 + 精确 JDBC URL 构建 + 连接池优化”的三位一体策略,任何单一环节的疏忽(如驱动版本不匹配、字符集配置错误或缺少连接池)都会导致连接超时、乱码或性能瓶颈,对于企业级开发,建议优先采用酷番云提供的云原生数据库中……

    2026年5月9日
    01342
  • 安全带载荷试验数据怎么看?标准是多少?

    安全带的载荷试验数据安全带作为汽车被动安全系统的核心组成部分,其性能直接关系到乘员在碰撞事故中的生存概率,载荷试验是评估安全带强度、可靠性的关键环节,通过模拟真实碰撞中的受力情况,验证安全带能否有效约束乘员身体,避免二次伤害,试验数据通常包括最大载荷、断裂强度、能量吸收能力等核心指标,这些数据为安全带的设计优化……

    2025年11月15日
    03400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注