Linux下安装MySQL数据库教程
时间:2026-03-08 19:21:42 413浏览 收藏
本文详细介绍了在Linux系统中通过源码编译方式安装MySQL 5.5.38数据库的完整流程,涵盖环境准备、冲突清理、依赖安装(如ncurses-devel和cmake)、用户与权限配置、源码编译参数设定、数据库初始化、配置文件部署、环境变量配置及服务注册启动等关键步骤,强调安全规范(如创建专用无登录权限的mysql用户)与兼容性保障(如UTF-8字符集设置),为开发者和系统管理员提供了一套稳定、可控、可定制的MySQL部署实践指南。
MySQL 是一款具备多线程处理能力与多用户支持的 SQL 关系型数据库系统,现由 Oracle 公司负责维护与技术支持。
1、 为防止端口占用或软件冲突,建议首先核查系统中是否已安装 MySQL 相关组件,重点排查通过 rpm 包管理方式部署的 mysql-server 或 mysql 主程序包;如检测到此类安装项,应提前卸载,以保障后续安装流程稳定可靠。
2、 运行命令:rpm -q mysql-server mysql,用于查询系统内是否存在已安装的 MySQL 服务端及客户端软件包。
3、 强制移除 MySQL 相关软件包,忽略依赖关系执行卸载操作。


4、 安装操作系统光盘中提供的 ncurses-devel 开发库,该依赖是后续编译 MySQL 所必需的基础组件。

5、 MySQL 5.5 版本需基于 cmake 工具完成源码编译安装,因此须预先部署 cmake 编译环境。
6、 执行命令:tar zxf cmake-2.8.12.tar.gz -C /usr/src/,将 cmake 源码压缩包解压至 /usr/src/ 目录下。

7、 创建专用运行账户
8、 使用 groupadd mysql 命令新建名为 mysql 的系统用户组。
9、 创建名为 mysql 的系统用户,将其归属至 mysql 用户组;不创建家目录,并设定其登录 shell 为 /sbin/nologin,从而禁止交互式登录,仅作为 MySQL 服务进程运行的身份使用。

10、 解压 MySQL 源码包
11、 执行命令:tar zxf mysql-5.5.38.tar.gz -C /usr/src/,将 MySQL 源码包释放至 /usr/src/ 路径。
12、 配置编译参数
13、 执行如下 cmake 配置指令:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all。该命令指定安装路径为 /usr/local/mysql,配置文件存放于 /etc 目录,设置默认字符集为 utf8,校对规则为 utf8_general_ci,并启用全部扩展字符集支持,确保数据库在多语言场景下的兼容性与稳定性。

14、 编译并安装
15、 依次执行 make 和 make install 命令,完成源码编译与程序安装过程。

16、 调整数据库目录权限
17、 执行 chown -R mysql:mysql /usr/local/mysql 命令,递归修改 MySQL 安装目录的所有者与所属组为 mysql 用户及组,确保服务启动时具备正确访问权限。

18、 部署配置文件
19、 MySQL 源码包中的 support-files 目录下包含多个预设配置模板,适用于不同规模的应用负载,常规部署推荐选用 my-medium.cnf 文件作为基础配置模板。
20、 执行 rm -rf /etc/my.cnf 清理旧版配置文件,避免配置冲突。
21、 完成数据库初始化
22、 执行命令:/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/,初始化 MySQL 系统数据库及核心表结构,为服务正常运行奠定数据基础。

23、 配置全局环境变量
24、 为实现任意路径下直接调用 mysql 命令,需将 MySQL 的可执行目录加入系统 PATH 变量。
25、 向 /etc/profile 文件末尾追加 export PATH=/usr/local/mysql/bin:$PATH,使环境变量对所有用户生效。

26、 将源码包 support-files 目录下的 mysql.server 启动脚本复制至 /etc/rc.d/init.d/ 目录,并重命名为 mysqld;随后为其添加执行权限;完成后即可通过 chkconfig 命令将其注册为系统级服务,支持开机自启及 service 方式统一管理。
27、 执行命令将 mysql.server 复制至 /etc/rc.d/init.d/ 并重命名为 mysqld,便于纳入系统服务管理体系。

28、 启动 MySQL 服务并验证其运行状态与端口监听情况。
29、 MySQL 默认监听 TCP 协议的 3306 端口,用于接收客户端连接请求。
今天关于《Linux下安装MySQL数据库教程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
426 收藏
-
258 收藏
-
326 收藏
-
211 收藏
-
385 收藏
-
440 收藏
-
417 收藏
-
314 收藏
-
178 收藏
-
153 收藏
-
118 收藏
-
454 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习