当前位置: 首页 > news >正文

在centOS源码编译方式安装MySQL5.7

一、前言

在生产环境中部署数据库时,很多人会选择直接使用 yum/apt 包管理器 安装 MySQL,这样简单快速,但缺点是版本受限,灵活性不足。对于需要指定版本、启用特定编译参数或优化的场景,源码编译安装 MySQL 就显得非常必要。

本文将以 CentOS 7 为例,演示如何从源码编译安装 MySQL 5.7,包括环境准备、依赖安装、源码编译、初始化配置以及服务启动等完整流程。

二、安装准备

安装包自行到官网下载或其他网站下载。

安装包上传路径我们选择/usr/local,如图:

(1)解压安装包

将mysql解压到/usr/local/,执行如下命令:

tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz

将mysql-5.7.44-el7-x86_64目录改名为mysql

mv mysql-5.7.44-el7-x86_64 mysql

(2)安装流程/步骤

由于MySQL 服务进程一般不会用 root 用户直接运行,而是以一个专门的 mysql 用户来管理,保证安全性。

cat /etc/group | grep mysql  -- 出现 mysql : x : 490 : 即为存在组
cat /etc/passwd | grep mysql -- 出现mysql:x:496:490::/home/mysql:/bin/bash 即为存在用户

不存在则添加

groupadd mysql
useradd -r -g mysql mysql

创建文件夹:软件放 /usr/local/mysql数据放 /data/mysql,

local下创建mysql(已有可不创建),根目录创建data/mysql

sudo mkdir -p /usr/local/mysql
sudo chown -R mysql:mysql /usr/local/mysql# 在根目录下新建 data 目录(如果还没有)
sudo mkdir -p /data/mysql# 修改权限为 mysql 用户
sudo chown -R mysql:mysql /data/mysql

准备就绪后,执行初始化mysql,会随机生成mysql的root密码。及时复制保存随机密码。

/usr/local/mysql/bin/mysqld --initialize --user=mysql \--basedir=/usr/local/mysql \--datadir=/data/mysql

如果不想随机生成密码,则执行以下命令,后续需要自行设置密码。建议直接随机密码后续修改即可。

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql \--basedir=/usr/local/mysql \--datadir=/data/mysql

至此,安装算是完成了,但还需要做各种配置。

(3)系统设置和配置文件修改

初始化启动脚本开机初始化目录

cp ./support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqld

修改配置文件,配置文件默认在/etc/my.cnf,如果没有则创建。

vim /etc/my.cnf

配置文件内容:

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql-error.log
pid-file=/data/mysql/mysql.pid

如图:

再次确保目录权限正确:

chown -R mysql:mysql /data/mysql

启动mysql:

service mysqld start

如出现以上图中内容,则表示mysql已经启动成功。

进一步验证:

ps -ef | grep mysqld

测试开机自启动:

# 重启服务测试
service mysqld restart# 或者查看是否开机自启
chkconfig --list mysqld

如图则表示可以开机自启动了

(4)其他注意事项或配置

登录mysql

# 如果使用 --initialize
/usr/local/mysql/bin/mysql -u root -p# 使用 --initialize-insecure 不需要密码
/usr/local/mysql/bin/mysql -u root

登录后如图:

到这里,安装就完成了。需要修改随机密码,则执行下面命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

开放远程访问和连接请参考:

https://blog.csdn.net/ts977/article/details/145884849?spm=1001.2014.3001.5501

设置自动备份请参考:

https://blog.csdn.net/ts977/article/details/144748311?spm=1001.2014.3001.5501


文章转载自:

http://k15BZw6X.kpyyf.cn
http://PreT0O2C.kpyyf.cn
http://8YUYwESl.kpyyf.cn
http://2uTTXBJV.kpyyf.cn
http://rqorWuSK.kpyyf.cn
http://0iLXU7p6.kpyyf.cn
http://SR6FWZPH.kpyyf.cn
http://mzmDr1hu.kpyyf.cn
http://3KBwRKOb.kpyyf.cn
http://snRzN6aa.kpyyf.cn
http://mUkiyeeb.kpyyf.cn
http://dDotIpW7.kpyyf.cn
http://R4kslpkO.kpyyf.cn
http://fPL2OC36.kpyyf.cn
http://pTVBu7Ny.kpyyf.cn
http://Gmj1XmMP.kpyyf.cn
http://eMX1bdph.kpyyf.cn
http://11GzzdoC.kpyyf.cn
http://n0yO54fm.kpyyf.cn
http://IGH9Q74A.kpyyf.cn
http://ZSKmwRs6.kpyyf.cn
http://Uk8GH70p.kpyyf.cn
http://qCl5NKn0.kpyyf.cn
http://fC92kOpb.kpyyf.cn
http://VeHlD3eK.kpyyf.cn
http://cwFHMQxb.kpyyf.cn
http://Xeal9t0m.kpyyf.cn
http://41fyCp7E.kpyyf.cn
http://2bjyo9zs.kpyyf.cn
http://BExmJaOr.kpyyf.cn
http://www.dtcms.com/a/378452.html

相关文章:

  • STM32H750 QSPI介绍及应用
  • 【Luogu】P9809 [SHOI2006] 作业 Homework (根号算法)
  • Linux Node.js 安装及环境配置详细教程
  • Node.js介绍与安装
  • Node.js 版本管理全指南:卸载 Node、安装 NVM、常用命令及问题解决
  • 如何在ONLYOFFICE中使用OCR工具:轻松识别图片和PDF中的文字
  • 专题:2025社交媒体营销与电商融合趋势报告:抖音、小红书、短剧、直播全拆解|附210+份报告PDF、数据仪表盘汇总下载
  • Ubuntu22.04如何安装新版本的Node.js和npm
  • Java根据模版导出PDF文件
  • 经济学研究与机器学习应用:R语言实证分析及论文写作指南
  • 洛谷 P1967 [NOIP 2013 提高组] 货车运输(kruskal 重构树 + 求路径最小边权)
  • android 如何判定底部导航栏显示时 不是键盘显示
  • Django入门笔记
  • 中悦大华通过订单日记实现流程重构之路
  • 电波之外:socket套接字,Linux下UDP通信的孤独诗篇
  • 自动驾驶中的传感器技术44——Radar(5)
  • Linux常用命令之top:动态进程排查利器
  • 【Problem】动态规划之跳跃游戏系列
  • Android 相机框架的跨进程通信架构
  • 从零实现成绩管理系统:深入理解 Python 类方法、静态方法和属性封装
  • G1 垃圾收集器深入解析
  • 【Leetcode hot 100】104.二叉树的深度
  • nginx的基础使用
  • AWS 查询 ALB access log
  • 认知语义学对人工智能自然语言处理深层语义分析的影响与启示
  • iText与OpenPDF使用差异及中文处理完全指南
  • 动态规划算法的欢乐密码(五):子数组系列(上)
  • 【国内电子数据取证厂商龙信科技】浅析文件头和文件尾和隐写
  • Gradio全解11——Streaming:流式传输的视频应用(8)——Gemini Live API:实时音视频连接
  • [特殊字符] 玩转 Python 命令行参数:从 `-m` 到 `argparse` 的全攻略