Linux下MySQL源码安装配置指南
linux mysql源码安装配置

首页 2025-06-23 11:25:40



Linux MySQL源码安装配置全攻略 在Linux环境下,从源码安装MySQL数据库不仅能让你深入了解安装过程中的每一个细节,还能根据你的需求进行高度自定义配置

    本文将详细介绍如何在Linux(以CentOS为例)系统中,通过源码包安装并配置MySQL数据库,确保每一步都清晰明了,让你轻松掌握这一技能

     一、安装环境准备 在开始之前,确保你的Linux系统已经更新到最新版本,并且具备必要的编译工具和依赖库

    我们以CentOS7.9为例进行演示

     1.检查并卸载冲突的数据库组件: CentOS系统中默认安装了mariadb-libs组件,该组件与MySQL存在冲突,因此需要先检查并卸载它

     bash rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs 2.安装编译依赖包: MySQL的编译安装依赖于一系列基础包,使用yum进行安装可以确保这些依赖得到满足

     bash yum install -y cmake make gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel bison bison-devel 二、下载并解压MySQL源码包 1.下载MySQL源码包: 前往MySQL官方网站(【https://downloads.mysql.com/archives/community/】(https://downloads.mysql.com/archives/community/))下载你需要的MySQL版本源码包

    自MySQL5.7版本开始,需要依赖boost库,因此建议下载包含boost库的mysql-boost源码包,如mysql-boost-5.7.42.tar.gz

     2.上传并解压源码包: 使用Xftp或其他FTP工具将下载的源码包上传到Linux系统中,这里假设上传到/usr/local/tmp目录

     bash cd /usr/local/tmp ls mysql-boost-5.7.42.tar.gz tar -zxvf mysql-boost-5.7.42.tar.gz ls mysql-5.7.42 mysql-boost-5.7.42.tar.gz 三、编译安装MySQL 1.创建安装目录和数据存放目录: 在编译安装之前,需要为MySQL创建安装目录和数据存放目录

     bash mkdir -p /usr/local/mysql mkdir -p /data/mysql 2.创建MySQL用户和用户组: 为了安全起见,建议为MySQL创建一个专用的用户和用户组

     bash groupadd mysql useradd -r -g mysql mysql 3.进行预编译: MySQL使用cmake进行预编译,而不是传统的./configure

    在预编译过程中,你需要指定一系列配置选项,如安装位置、数据存放位置、端口号等

     bash cd mysql-5.7.42 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_TCP_PORT=3306 -SYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_BOOST=boost/boost_1_59_0 注意:根据你的实际需求,调整上述配置选项

    例如,如果你不需要InnoDB存储引擎,可以省略`-DWITH_INNOBASE_STORAGE_ENGINE=1`

     4.编译并安装: 编译过程可能会比较耗时,尤其是当你的CPU核心数较多时,可以使用make -jx选项来加速编译过程,其中x代表你的CPU核心数

     bash make && make install 四、初始化数据库并启动服务 1.创建相关目录并赋予权限: 编译安装完成后,需要为MySQL创建必要的目录,并赋予mysql用户相应的权限

     bash cd /usr/local/mysql mkdir -p data tmp logs chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /data/mysql 2.初始化数据库: 进入MySQL的scripts目录,执行mysql_install_db脚本来初始化数据库

     bash cd /usr/local/mysql/scripts ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 3.设置环境变量: 为了方便使用mysql命令,需要将MySQL的bin目录添加到PATH环境变量中

     bash export PATH=$PATH:/usr/local/mysql/bin vim /etc/profile 在/etc/profile文件的末行添加`export PATH=$PATH:/usr/local/mysql/bin`,然后保存并退出

    使配置文件生效: bash source /etc/profile 4.配置MySQL服务: 将MySQL的配置文件和支持文件拷贝到/etc目录下,并修改相应的权限

     bash cd /usr/local/mysql/support-files cp my-default.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld chmod755 /etc/init.d/mysqld 编辑/etc/my.cnf文件,根据你的需求进行修改

    例如: ini 【mysqld】 basedir = /usr/local/mysql datadir = /data/mysql port =3306 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci 5.添加服务并启动: 将MySQL服务添加到系统服务中,并设置为开机自启动

     bash chkconfig --add mysqld chkconfig mysqld on service mysqld start 6.设置root账户密码: MySQL安装完成后,root账户的默认密码是空的

    你需要使用mysqladmin命令为root账户设置一个新密码

     bash mysqladmin -uroot password 你的密码 然后,你

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