
尽管大多数Linux发行版提供了预编译的MySQL二进制包,通过包管理器(如apt、yum)安装简便快捷,但有时候,出于性能优化、定制化需求或学习目的,从源码编译安装MySQL成为了一个不可或缺的技能
本文将详细指导你如何在Linux环境下,通过源码包安装MySQL,确保每一步都清晰明了,让你轻松掌握这一高级技能
一、准备工作 1. 系统环境检查 首先,确保你的Linux系统满足MySQL的安装要求
MySQL源码编译通常需要以下基本环境: - Linux内核版本:建议使用较新的稳定版,如CentOS7/8、Ubuntu18.04/20.04等
- GCC编译器:MySQL源码需要GCC进行编译
- CMake构建工具:MySQL从5.5版本开始使用CMake替代了autotools作为构建系统
-必要的开发库:如`libncurses5-dev`、`libssl-dev`等,这些库在编译过程中可能会被依赖
2. 更新系统并安装依赖 在CentOS上,你可以使用以下命令更新系统并安装必要的依赖: bash sudo yum update -y sudo yum groupinstall Development Tools -y sudo yum install cmake ncurses-devel openssl-devel -y 在Ubuntu上,相应的命令为: bash sudo apt update sudo apt upgrade -y sudo apt install build-essential cmake libncurses5-dev libssl-dev -y 3. 创建用户和组 为了安全起见,建议为MySQL创建一个专用的用户和组: bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 二、下载MySQL源码 访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/),选择适合你系统的源码包版本
通常,你会找到`.tar.gz`格式的压缩文件
使用`wget`或浏览器下载后,通过`tar`命令解压: bash wget https://dev.mysql.com/get/Downloads/MySQL-X.Y.Z/mysql-X.Y.Z.tar.gz tar -zxvf mysql-X.Y.Z.tar.gz cd mysql-X.Y.Z 将`X.Y.Z`替换为你下载的具体版本号
三、配置与编译 1. 运行CMake进行配置 CMake配置阶段是编译前的关键步骤,它决定了MySQL的编译选项和安装路径
以下是一个基本的CMake命令示例: bash mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/mysql -DDATADIR=/var/lib/mysql -DWITH_SSL=system -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci 这里的参数解释如下: -`CMAKE_INSTALL_PREFIX`:指定MySQL的安装目录
-`SYSCONFDIR`:配置文件存放目录
-`DATADIR`:数据库文件存放目录
-`WITH_SSL`:启用SSL支持
-`DEFAULT_CHARSET`和`DEFAULT_COLLATION`:设置默认字符集和排序规则
2. 编译与安装 配置完成后,使用`make`命令进行编译
根据系统性能和源码大小,编译过程可能需要较长时间
编译完成后,执行`make install`进行安装: bash make sudo make install 四、初始化数据库与启动服务 1. 初始化数据库 在安装目录下执行`mysqld --initialize`命令来初始化数据库
注意,这一步会生成一个临时的root密码,请务必记录: bash cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql 输出中会显示类似`temporary password is generated for root@localhost: A1b2C3d4e5`的信息
2. 设置目录权限 确保MySQL数据目录和配置文件目录的权限正确: bash sudo chown -R mysql:mysql /var/lib/mysql sudo chown -R mysql:mysql /etc/mysql 3. 配置系统服务 为了方便管理,可以将MySQL设置为系统服务
创建一个systemd服务文件: bash sudo nano /etc/systemd/system/mysql.service 内容如下: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 保存并退出后,重新加载systemd配置并启动MySQL服务: bash sudo systemctl daemon-reload sudo systemctl start mysql sudo systemctl enable mysql 4. 安全配置 使用初始化时生成的临时密码登录MySQL,并运行`mysql_secure_installation`进行安全配置,包括修改root密码、删除匿名用户、禁止远程root登录、删除测试数据库等
bash /usr/local/mysql/bin/mysql -u root -p 然后根据提示操作即可
五、验证安装 最后,通过简单的S
MySQL存储引擎:核心意义解析
Linux下MySQL源码包安装全攻略
Docker中修改MySQL编码指南
MySQL查询:轻松筛选大于某数值的数据
MySQL事件调度中的LF语句应用指南
MySQL设计优化实战解答指南
YUM安装后,如何进入MySQL数据库
MySQL存储引擎:核心意义解析
Docker中修改MySQL编码指南
MySQL查询:轻松筛选大于某数值的数据
MySQL事件调度中的LF语句应用指南
MySQL设计优化实战解答指南
YUM安装后,如何进入MySQL数据库
如何正确设置MySQL字符集指南
MySQL ODBC 5.2 VC:高效连接数据库的必备工具解析
CentOS 6.5云盘下载MySQL指南
emoji存入MySQL报错?解决方案来了!
MySQL技巧:一键清空MYD文件数据
阿里云搭建MySQL集群指南