详解MySQL5.7.21源码安装步骤与技巧
mysql5.7.21源码安装

首页 2025-07-27 21:38:10



MySQL5.7.21源码安装指南 MySQL作为广泛使用的关系型数据库管理系统,其稳定性和性能在业界享有盛誉

    在某些特定场景下,从源码编译安装MySQL能够提供更高的灵活性和定制化选项

    本文将详细介绍如何在Linux环境下从源码安装MySQL5.7.21版本,确保每个步骤都详尽无遗,帮助你顺利完成安装

     一、准备工作 在进行源码安装之前,确保你的系统满足以下基本要求: - Linux操作系统(本文以CentOS为例) -足够的磁盘空间和内存 - 网络连接,以便下载必要的依赖包和源码包 1. 创建用户和组 首先,为MySQL创建一个专用的用户和组,以确保数据库文件的安全性和隔离性

     bash groupadd mysql useradd -r -g mysql -s /bin/false mysql 2. 安装依赖包 MySQL的编译依赖于多个开发工具和库

    使用包管理器安装这些依赖项

     bash yum -y install gcc gcc-c++ cmake ncurses-devel bison bison-devel 注意:不同版本的Linux发行版可能具有不同的包管理器(如apt用于Debian/Ubuntu,yum/dnf用于CentOS/RHEL等),确保使用适合你系统的包管理器

     3. 下载MySQL源码包 访问MySQL官方网站(【MySQL官方下载地址】(https://dev.mysql.com/downloads/mysql/)),下载MySQL5.7.21版本的源码包

    通常,你会得到一个压缩的tar包,例如`mysql-5.7.21.tar.gz`

     你也可以通过wget命令直接从命令行下载: bash wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz 将下载的源码包上传到你的服务器,并解压到指定目录

     bash tar -zxvf mysql-5.7.21.tar.gz -C /usr/local cd /usr/local mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql 二、编译MySQL 1. 安装必要的库 MySQL的编译可能依赖于一些额外的库,如libaio、boost等

    确保这些库已经安装在你的系统上

     bash yum search libaio yum install libaio 对于boost库,你可以从MySQL源码包中自带的boost源码进行编译安装,或者从外部下载boost源码进行安装

    这里假设你使用MySQL自带的boost源码

     2. 预编译配置 使用cmake工具进行预编译配置

    cmake会生成一个Makefile,用于后续的编译过程

     bash cd /usr/local/mysql cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost 如果boost源码在mysql源码目录下的boost文件夹中 注意:根据你的系统环境和需求,你可能需要调整cmake的参数

    例如,如果你的boost库安装在非默认路径,你需要通过`-DWITH_BOOST`参数指定boost的安装路径

     3.编译和安装 预编译配置完成后,使用make工具进行编译

    编译过程可能需要一些时间,具体取决于你的系统性能

     bash make -j4 -j4表示使用4个并行进程进行编译,你可以根据你的CPU核心数进行调整 make install 三、配置MySQL 1. 创建必要的目录和文件 MySQL需要一些特定的目录来存储数据文件、日志文件等

    创建这些目录,并确保它们属于mysql用户和组

     bash mkdir -p /usr/local/mysql/{data,log,etc,run} chown -R mysql:mysql /usr/local/mysql chmod750 /usr/local/mysql/{data,log,etc,run} 2. 配置my.cnf文件 MySQL的配置文件my.cnf通常位于`/etc/my.cnf`或`/usr/local/mysql/etc/my.cnf`

    创建一个新的my.cnf文件,并根据你的需求进行配置

     bash vi /usr/local/mysql/etc/my.cnf 在my.cnf文件中添加以下内容(这只是一个示例配置,你可能需要根据你的需求进行调整): ini 【client】 port =3306 socket = /usr/local/mysql/run/mysql.sock 【mysqld】 port =3306 socket = /usr/local/mysql/run/mysql.sock pid_file = /usr/local/mysql/run/mysql.pid datadir = /usr/local/mysql/data default_storage_engine = InnoDB max_allowed_packet =128M max_connections =2048 open_files_limit =65535 skip-name-resolve lower_case_table_names=1 character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect=SET NAMES utf8mb4 innodb_buffer_pool_size =128M innodb_log_file_size =128M innodb_file_per_table =1 innodb_flush_log_at_trx_commit =1 key_buffer_size =16M log-error = /usr/local/mysql/log/mysql_error.log log-bin = /usr/local/mysql/log/mysql_bin.log slow_query_log =1 slow_query_log_file = /usr/local/mysql/log/mysql_slow_query.log long_query_time =5 tmp_table_size =16M max_heap_table_size =16M query_cache_type =0 query_cache_size =0 server-id=1 3.初始化数据库 在启动MySQL服务之前,你需要初始化数据库

    初始化过程会创建一个临时的root用户密码,你可以在安装日志中找到它

     bash /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 在初始化日志中查找临时密码,例如: A temporary password is generated for root@localhost: A1b2C3d4e5 4. 启动MyS

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