CentOS 7源码安装MySQL 5.7详细步骤
167 浏览量
更新于2024-08-30
收藏 77KB PDF 举报
"CentOS 7中通过源码安装MySQL 5.7.6的详细教程"
在CentOS 7上源码安装MySQL 5.7.6或更高版本需要遵循一系列步骤,确保系统中没有冲突的数据库软件,并安装必要的依赖。以下是安装过程的关键知识点:
1. **卸载默认的MariaDB**
CentOS 7默认安装了MariaDB,它与MySQL有冲突。因此,在安装MySQL之前,必须先卸载MariaDB的相关包。这可以通过运行`rpm -qa | grep -i mariadb`来查找并使用`rpm -e`命令卸载。
2. **解决依赖问题**
在卸载MariaDB时,可能会遇到依赖问题,例如`libmysqlclient.so.18`。在这种情况下,需要同时卸载依赖于这些库的软件,例如`postfix`。这可以通过指定附加参数`--nodeps`或者连同依赖一起卸载来解决。
3. **下载MySQL源码**
首先,你需要访问MySQL的官方下载页面(http://downloads.mysql.com/archives/community/)获取适合版本的源码包。
4. **安装编译工具**
使用`yum install -y cmake make gcc gcc-c++`命令安装编译MySQL源码所需的工具。
5. **创建安装目录**
创建一个用于存放MySQL的目录,例如`/usr/local/mysql`。
6. **解压源码包**
解压缩下载的MySQL源码包,例如`tar -zxvf mysql-5.7.16.tar.gz`。
7. **创建MySQL用户和用户组**
创建名为`mysql`的用户组和用户,这将用于运行MySQL服务。使用`groupadd`创建用户组,`useradd`创建用户,并设置其shell为`/bin/bash`,所属组为`mysql`。
8. **安装依赖库**
为了成功编译MySQL,需要安装一些依赖库,如`curses-devel`, `openssl-devel`, `bison`, `libaio-devel`等。使用`yum install -y`命令进行安装。
9. **boost库安装**
MySQL 5.7可能还需要boost库,确保安装了`boost-devel`以支持编译。
10. **配置和编译**
进入解压后的MySQL源码目录,运行`cmake`进行配置,然后用`make`命令编译源码。
11. **安装MySQL**
编译完成后,使用`make install`将编译好的MySQL软件安装到指定目录。
12. **初始化MySQL**
执行`scripts/mysql_install_db --user=mysql`初始化MySQL数据目录。
13. **设置权限和启动**
将MySQL服务器的所有权更改为`mysql`用户,设置必要的权限,然后启动MySQL服务。
14. **配置系统启动**
为了让MySQL在启动时自动运行,需要将其添加到系统服务中,如使用`chkconfig --add mysql`和`chkconfig mysql on`。
15. **安全配置**
最后,运行`mysql_secure_installation`脚本,对MySQL进行安全配置,如设置root用户的密码,删除匿名用户,禁用远程root登录等。
以上就是通过源码在CentOS 7上安装MySQL 5.7.6及其更高版本的详细过程,确保每个步骤都按照正确的顺序执行,避免任何可能导致安装失败的问题。
2020-09-28 上传
2018-12-19 上传
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
weixin_38651450
- 粉丝: 1
- 资源: 921
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫