
尽管大多数用户可能会选择使用包管理器(如apt、yum等)来安装MySQL,以获得便捷和自动依赖管理的好处,但源码编译安装提供了更高的灵活性和定制性,尤其适合需要特定功能或优化性能的场景
本文将详细阐述如何在Linux系统上从源码编译安装MySQL,确保每一步都清晰明了,让您能够顺利完成安装
一、准备工作 在开始之前,确保您的系统满足以下基本要求: 1.操作系统:本文将以CentOS 7为例,但步骤适用于大多数基于Linux的发行版
2.基本工具:需要安装一些基本的开发工具,如gcc、make、cmake等
3.依赖库:MySQL编译依赖于多种库文件,如ncurses、libaio等
1.1 更新系统并安装基本工具 首先,确保您的系统是最新的,并安装必要的编译工具和库
bash sudo yum update -y sudo yum groupinstall Development Tools -y sudo yum install cmake gcc-c++ ncurses-devel bison -y 1.2 安装依赖库 MySQL源码编译需要一些特定的库,特别是libaio(异步I/O库),这对于提高数据库性能至关重要
bash sudo yum install libaio-devel -y 二、下载MySQL源码包 访问MySQL官方网站或其镜像站点,下载最新稳定版本的源码包
通常,您可以在【MySQL下载页面】(https://dev.mysql.com/downloads/mysql/)找到所需的源码压缩包
bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz 请将`mysql-8.0.xx.tar.gz`替换为您下载的具体版本号
三、解压源码包 下载完成后,解压源码包到一个目录中
bash tar -zxvf mysql-8.0.xx.tar.gz cd mysql-8.0.xx 四、创建构建目录并运行CMake 在源码目录下,创建一个独立的构建目录,并在该目录中运行CMake配置脚本
这种做法有助于保持源码目录的清洁
bash mkdir build cd build cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost 这里有几个关键点需要注意: -`-DDOWNLOAD_BOOST=1`:指示CMake自动下载并解压Boost库,MySQL需要Boost库来支持某些功能
-`-DWITH_BOOST=../boost`:指定Boost库的解压位置,CMake会自动处理下载和解压过程,您只需确保路径正确
根据您的具体需求,您可能需要调整CMake的其他选项,例如指定安装目录、启用或禁用特定功能等
完整的CMake选项可以通过`cmake --help`或查阅MySQL官方文档获取
五、编译MySQL 配置完成后,使用`make`命令开始编译过程
这可能需要一些时间,具体取决于您的系统性能和选择的编译选项
bash make 六、安装MySQL 编译成功后,使用`make install`命令将MySQL安装到指定的目录(通常是`/usr/local/mysql`,除非在CMake配置时指定了其他位置)
bash sudo make install 七、初始化数据库 安装完成后,需要对MySQL数据库进行初始化
这包括创建系统表、填充初始数据等
bash cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql 注意:`--initialize`选项会在当前目录下生成一个临时密码文件,请务必记录该密码,因为它将在首次登录MySQL时使用
八、配置MySQL服务 为了使MySQL能够作为系统服务运行,需要创建相应的systemd服务文件
8.1 创建MySQL用户组和用户 首先,确保有一个名为`mysql`的用户和组存在
bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 8.2 设置目录权限 确保MySQL的数据目录和安装目录具有正确的权限
bash sudo chown -R mysql:mysql /usr/local/mysql 8.3 创建systemd服务文件 在`/etc/systemd/system/`目录下创建一个名为`mysqld.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/my.cnf PIDFile=/usr/local/mysql/run/mysqld/mysqld.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 请根据您的实际安装路径和配置文件位置调整上述路径
8.4 启动MySQL服务并设置开机自启 bash sudo systemctl daemon-reload sudo systemctl start mysqld sudo systemctl enable mysqld 九、安全配置MySQL 首次登录MySQL时,使用初始化时生成的临时密码
登录后,运行`mysql_secure_installation`脚本来设置新的root密码、删除匿名用户、禁止root远程登录等安全配置
bash /usr/local/mysql/bin/mysql -u root -p 然后输入临时密码,并按照提示完成安全配置
十、配置MySQL客户端路径(可选) 为了方便使用MySQL客户端工具,可以将MySQL的bin目录添加到系统的PATH环境变量中
编辑`~/.bash_profile`或`/etc/profile`文件,添加以下内容: bash export PATH=/usr/local/mysql/bin:$PATH 然后执行`source ~/.bash_profile`或重新登录以使更改生效
结语 从源码编译安装MySQL虽然比使用包管理器更复杂,但它提供了更高的灵活性和定制性,适合有特殊需求或追求性能优化的用户
通过本文的详细步骤,您应该能够成功在Linux系统上安装并配置MySQL
如果遇到任何问题,请查阅MySQL官方文档或社区论坛获取帮助
祝您安装顺利,享受MySQL带来的强大功能!
MySQL ORDER BY技巧大揭秘
Linux系统下MySQL源码包安装全攻略
如何修改MySQL静态参数,优化数据库性能
MySQL除法计算器:高效运算新工具
群晖7.1系统高效备份文件指南
MySQL实现数据多个排列技巧
MySQL按类型自动递增ID策略
MySQL ORDER BY技巧大揭秘
如何修改MySQL静态参数,优化数据库性能
MySQL除法计算器:高效运算新工具
群晖7.1系统高效备份文件指南
MySQL实现数据多个排列技巧
MySQL按类型自动递增ID策略
MySQL:本地畅通无阻,远程连接为何受阻?
JSP连接MySQL读取图片教程
MySQL数据库:定义数据的艺术
MySQL结合软件界面设计,打造高效数据库管理
学生必备:MySQL数据库入门指南
MySQL中调整字体大小失败?排查与解决方案揭秘