
本文将详细指导你如何在Linux环境下重新编译并安装MySQL,确保每一步都清晰明了,让你轻松掌握这一技能
一、准备工作 在开始之前,请确保你的Linux系统已经更新到最新版本,并且具备必要的编译工具
同时,为了避免潜在的冲突,建议先卸载系统上已存在的MySQL或MariaDB实例
1.更新系统: bash sudo apt-get update && sudo apt-get upgrade Debian/Ubuntu系 sudo yum update CentOS/RHEL系 2.安装编译工具: 编译MySQL需要一系列开发工具,包括但不限于gcc、make、cmake等
bash sudo apt-get install build-essential cmake libncurses5-dev libssl-dev Debian/Ubuntu系 sudo yum groupinstall Development Tools && sudo yum install cmake openssl-devel ncurses-devel CentOS/RHEL系 3.卸载旧版MySQL: 如果系统上已安装MySQL或MariaDB,需先将其卸载
bash sudo apt-get remove --purge mysql-server mysql-client mysql-common Debian/Ubuntu系 sudo yum remove mysql mysql-server mysql-libs CentOS/RHEL系 同时,删除相关的配置文件和数据目录: bash sudo rm -rf /etc/mysql/var/lib/mysql 二、下载MySQL源码 访问MySQL官方网站下载页面,选择适合你系统架构的源码包
通常,你会找到一个以`.tar.gz`或`.tar.xz`结尾的压缩文件
bash wget https://dev.mysql.com/get/Downloads/MySQL-X.Y.Z/mysql-X.Y.Z.tar.gz 将X.Y.Z替换为具体版本号 下载完成后,使用`tar`命令解压源码包: bash tar -xzvf mysql-X.Y.Z.tar.gz 解压后,进入解压目录: bash cd mysql-X.Y.Z 三、配置编译选项 在编译之前,使用`cmake`命令配置MySQL的编译选项
这一步非常关键,因为它决定了MySQL的安装路径、数据目录、字符集等重要设置
bash cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DINSTALL_MANDIR=/usr/share/man -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 这里的选项解释如下: -`-DCMAKE_INSTALL_PREFIX`:指定MySQL的安装目录
-`-DSYSCONFDIR`:指定配置文件的存放目录
-`-DMYSQL_DATADIR`:指定数据目录
-`-DINSTALL_MANDIR`:指定帮助文档的存放目录
-`-DMYSQL_TCP_PORT`:指定MySQL服务的TCP端口
-`-DMYSQL_UNIX_ADDR`:指定UNIX socket文件的路径
-`-DDEFAULT_CHARSET`:指定默认字符集
-`-DEXTRA_CHARSETS`:指定额外的字符集支持
-`-DDEFAULT_COLLATION`:指定默认排序规则
-`-DWITH_SSL`:启用SSL支持
-`-DWITH_EMBEDDED_SERVER`:启用嵌入式服务器支持
-`-DENABLED_LOCAL_INFILE`:允许从本地文件导入数据
-`-DWITH_INNOBASE_STORAGE_ENGINE`:启用InnoDB存储引擎
四、编译与安装 配置完成后,使用`make`命令编译MySQL源码
这一步可能需要较长时间,具体取决于你的系统性能和源码大小
bash make 编译成功后,使用`make install`命令安装MySQL
bash sudo make install 五、初始化数据库 安装完成后,需要对MySQL数据库进行初始化
这一步会创建系统表、用户表等必要数据
bash cd /usr/local/mysql sudo chown -R mysql:mysql . sudo ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 注意,初始化过程中会生成一个临时密码,请务必记录下来,以便后续登录MySQL时使用
六、配置MySQL服务 为了方便管理MySQL服务,可以将其添加到系统服务中
1. 复制MySQL的服务脚本到系统服务目录: bash sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 2. 为服务脚本添加执行权限: bash sudo chmod +x /etc/init.d/mysqld 3. 使用`chkconfig`或`systemctl`命令将MySQL服务添加到系统启动项中(根据系统类型选择): bash CentOS/RHEL系 sudo chkconfig --add mysqld sudo chkconfig mysqld on Debian/Ubuntu系(如果使用systemd) sudo sys
MySQL存储过程:Iterate循环使用指南
Linux下MySQL重新编译安装指南
解决MySQL插入中文数据报错问题:技巧与步骤
准易MySQL2020:数据库入门新指南
MySQL登录指南:快速掌握登录命令
MySQL技巧:轻松统计订单总价
远程连接MySQL数据库工具指南
MySQL存储过程:Iterate循环使用指南
解决MySQL插入中文数据报错问题:技巧与步骤
准易MySQL2020:数据库入门新指南
MySQL登录指南:快速掌握登录命令
MySQL技巧:轻松统计订单总价
远程连接MySQL数据库工具指南
MySQL双记录数据揭秘与应用
MySQL Memory数据库:高速存储新选择
Gorm连接池优化:高效管理MySQL连接
MySQL数据库管理:详解删除操作的预处理技巧
MySQL表增列操作指南
MySQL中不等于符号的使用技巧