在 CentOS 中安装 MySQL 的过程与问题解决方案

MySQL 是一款广泛使用的开源关系型数据库管理系统,在 CentOS 系统中安装 MySQL 是很多开发者和运维人员常做的工作。下面将详细介绍安装过程以及可能遇到的问题和解决方案。

一、安装前的准备工作

在安装 MySQL 之前,需要做好一些准备工作,以确保安装过程顺利进行。

  • 检查系统版本:确认 CentOS 的版本,不同版本在安装 MySQL 时可能会有一些差异。可以使用 cat /etc/centos-release 命令查看系统版本。
  • 更新系统:运行  yum -y update  命令更新系统软件包,保证系统处于最新状态,减少兼容性问题。
  • 检查是否已安装 MySQL 相关软件:使用   rpm -qa | grep mysql  命令查看,如果有安装则使用   rpm -e --nodeps   软件名命令卸载,避免冲突。

二、MySQL 的安装过程

(一)选择安装方式

MySQL 在 CentOS 上有多种安装方式,常用的有通过 yum 源安装和源码编译安装。这里推荐使用 yum 源安装,操作相对简单。

(二)添加 MySQL yum 源

  • 访问 MySQL 官网(https://dev.mysql.com/downloads/repo/yum/),选择适合 CentOS 版本的 yum 源 rpm 包。
  • 下载 rpm 包:可以使用 wget 命令下载,例如 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm(具体链接根据实际情况选择)。
  • 安装 rpm 包:运行  rpm -ivh mysql80-community-release-el7-3.noarch.rpm  ,安装完成后会在/etc/yum.repos.d/目录下生成相关的 yum 源配置文件。

(三)选择 MySQL 版本

如果需要安装特定版本的 MySQL,可以修改 yum 源配置文件。例如,对于 MySQL 5.7,编辑/etc/yum.repos.d/mysql-community.repo文件,将 MySQL 8.0 的 enabled 设置为 0,将 MySQL 5.7 的 enabled 设置为 1。

(四)安装 MySQL

运行  yum -y install mysql-community-server  命令开始安装 MySQL。安装过程中,yum 会自动处理依赖关系。

三、MySQL 的配置与启动

(一)启动 MySQL 服务

安装完成后,使用systemctl start mysqld命令启动 MySQL 服务。可以通过  systemctl status mysqld  命令查看服务状态,如果显示 “active (running)” 则表示启动成功。

(二)设置开机自启动

为了让 MySQL 在系统重启后自动启动,运行  systemctl enable mysqld  命令。

(三)获取初始密码

MySQL 安装完成后,会生成一个初始密码,存放在/var/log/mysqld.log文件中。可以使用  grep 'temporary password' /var/log/mysqld.log   命令查看初始密码。

(四)登录 MySQL 并修改初始密码

  • 使用初始密码登录   MySQL:mysql -u root -p,然后输入初始密码。
  • 修改密码:登录后,需要立即修改初始密码,否则无法执行其他操作。可以使用ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';命令修改密码。注意,MySQL 对密码有一定要求,通常需要包含大小写字母、数字和特殊字符。

四、可能遇到的问题及解决方案

(一)yum 源安装时提示 “找不到包”

  • 原因:可能是 yum 源配置不正确或者没有启用对应的 MySQL 版本。
  • 解决方案:检查/etc/yum.repos.d/mysql-community.repo文件中对应的 MySQL 版本的 enabled 是否设置为 1,然后运行yum clean all和yum makecache命令刷新 yum 缓存。

(二)启动 MySQL 服务失败

  • 原因:可能是端口被占用、配置文件错误等。
  • 解决方案:
    • 检查端口是否被占用:使用  netstat -tunlp | grep 3306  命令查看 3306 端口是否被占用,如果被占用可以修改 MySQL 配置文件中的端口或者停止占用端口的进程。
    • 查看错误日志:/var/log/mysqld.log文件中会记录启动失败的原因,根据日志信息进行排查。

(三)初始密码无法登录

  • 原因:可能是初始密码获取错误或者密码已过期。
  • 解决方案:
    • 重新获取初始密码:再次运行  grep 'temporary password' /var/log/mysqld.log  命令确认。
    • 如果密码过期,可以修改 MySQL 配置文件/etc/my.cnf,在 [mysqld] 部分添加  skip-grant-tables,然后重启 MySQL 服务systemctl restart mysqld,此时可以无密码登录 MySQL,登录后修改密码,修改完成后删除skip-grant-tables并重启服务。

(四)远程连接 MySQL 失败

  • 原因:默认情况下,MySQL 只允许本地登录,没有开启远程连接权限。
  • 解决方案:
    • 登录 MySQL 后,执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;命令授予 root 用户远程连接权限,其中%表示允许所有 IP 连接,也可以指定具体的 IP。
    • 执行FLUSH PRIVILEGES;命令刷新权限。
    • 检查防火墙是否开放 3306 端口:如果使用 firewalld 防火墙,运行firewall-cmd --zone=public --add-port=3306/tcp --permanent命令开放 3306 端口,然后运行firewall-cmd --reload命令重新加载防火墙配置。

通过以上步骤,应该可以在 CentOS 系统中成功安装并配置 MySQL。如果在安装过程中遇到其他问题,可以查阅 MySQL 官方文档或者相关技术论坛寻求帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916662.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里 Qwen3 四模型齐发,字节 Coze 全面开源,GPT-5 8 月初发布!| AI Weekly 7.21-7.27

📢本周AI快讯 | 1分钟速览🚀1️⃣ 🧠 阿里 Qwen3 全系列爆发 :一周内密集发布四款新模型,包括 Qwen3-235B-A22B-Thinking-2507、Qwen3-Coder 和 Qwen3-MT,MMLU-Pro 成绩超越 Claude Opus 4,百万…

C语言第 9 天学习笔记:数组(二维数组与字符数组)

C语言第09天学习笔记:数组(二维数组与字符数组) 内容提要 数组 二维数组字符数组二维数组 定义 二维数组本质上是一个行列式组合,由行和列两部分组成,属于多维数组,通过行和列解读(先行后列&…

使用OpenCV做个图片校正工具

昨天有位兄台给我发了个文件,是下面这个样子的:那一双小脚既没有裹成三寸金莲,又没有黑丝,这图片肯定不符合我的要求。我要的是这个样子的好不好:让他拿扫描仪重新给我规规矩矩扫一个发过来?他要能用扫描仪…

《不只是接口:GraphQL与RESTful的本质差异》

RESTful API凭借其与HTTP协议的天然融合,以资源为核心的架构理念,在过去十余年里构建了Web数据交互的基本秩序;而GraphQL的出现,以“按需获取”为核心的查询模式,打破了传统的请求-响应逻辑,重新定义了前端…

博士招生 | 香港大学 招收人工智能和网络安全方向 博士生

学校简介香港大学创立于 1911 年,是香港历史最悠久的高等学府,QS 2025 世界排名第 17 位。计算机科学学科在 QS 2025 学科排名中位列全球第 31 位、亚洲第 5 位。计算机系(Department of Computer Science)下设系统、人工智能、数…

Linux知识回顾总结----基础IO

目录 1. 理解“文件” 1.1 文件的定义 2. 回顾 C 语言的文件操作 2.1 文件操作 2.2 实现cat 2.3 可以实现打印的几种方式 3. 系统文件的IO 3.2 使用系统的接口 3.3 内部的实现 3.4 重定向 4. 文件系统的内核结构 5. 缓冲区 5.1 是什么 5.2 为什么 5.3 有什么 5.4 见见…

网络:基础概念

网络:基础概念 在计算机发展过程中,最开始每个计算机时相互独立的,后来人们需要用计算机合作处理任务,这就牵扯到了数据交换,所以最开始的网络就诞生了。一开始,网络都是局域网LAN,后来技术成熟…

图像识别边缘算法

文章目录1. 基本概念2. 边缘检测原理边缘类型:3. 常见边缘检测算法3.1 Sobel算子3.2 Canny边缘检测3.3 Laplacian算子4. Canny边缘检测详细流程流程图示例:详细步骤说明:5. 边缘检测算法比较6. 参数调优建议Canny边缘检测参数:Sob…

【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(终)

🧪 测试与质量保证 🔍 全方位测试体系 我建立了企业级的全方位测试体系来确保系统质量: 🧪 测试金字塔模型 #mermaid-svg-u4I8UuUAyxJVjcqs {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill…

QT开发---网络编程下

HTTP协议 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的协议之一,用于客户端和服务器之间的通信。默认端口80,传输层使用的是TCP协议特点无连接:HTTP协议是无连接的&#xff…

mac 苹果电脑 Intel 芯片(Mac X86) 安卓虚拟机 Android模拟器 的救命稻草(下载安装指南)

引言: 还在为你的Intel芯片MacBook(i5, i7, i9等)找不到合适的安卓虚拟机而发愁吗?随着Apple Silicon (M1/M2/M3) 芯片的普及,大量优秀的安卓模拟器(如Android Studio自带的模拟器、网易MuMu等)…

C语言:顺序表(上)

C语言:顺序表(上) 1.顺序表的介绍 2.顺序表的实现 1.顺序表的介绍 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在…

GPT - 5被曝将在8月初发布!并同步推出mini、nano版

据《TheVerge》最新报道,OpenAI 正准备在 8 月发布新版本旗舰大模型 GPT-5,如果顺利的话发布节点最早会在 8 月初。同时,下个月发布 GPT-5 时,还会一并推出 mini(小型)和 nano(微型)…

【Linux操作系统】简学深悟启示录:Linux环境基础开发工具使用

文章目录1.软件包管理器yum2.Linux编辑器vim2.1 三模式切换2.2 正常模式2.3 底行模式2.4 可视化模式2.5 vim 配置3.Linux编译器gcc/g3.1 预处理3.2 编译3.3 汇编3.4 连接3.5 函数库4.Linux自动化构建工具Makefile5.Linux调试器gdb希望读者们多多三连支持小编会继续更新你们的鼓…

八大神经网络的区别

神经网络名称全称/修正名称主要作用核心特点典型应用场景CINICNN(卷积神经网络)处理图像、视频等空间数据,提取局部特征。使用卷积核、池化操作;擅长平移不变性。图像分类、目标检测、人脸识别。RINIRNN(循环神经网络&…

从 SQL Server 到 KingbaseES V9R4C12,一次“无痛”迁移与深度兼容体验实录

#数据库平替用金仓 #金仓产品体验官 摘要:本文以体验项目案例为主线,从下载安装、数据类型、T-SQL、JDBC、性能基准、踩坑回退六大维度,全景验证 KingbaseES V9R4C12 对 SQL Server 的“零改造”兼容承诺;并给出 TPCH 100G 性能对…

EasyPlayer播放器系列开发计划2025

EasyPlayer系列产品发展至今,已经超过10年,从最早的EasyPlayer RTSP播放器,到如今维护的3条线:EasyPlayer-RTSP播放器:Windows、Android、iOS;EasyPlayerPro播放器:Windows、Android、iOS&#…

通信名词解释:I2C、USART、SPI、RS232、RS485、CAN、TCP/IP、SOCKET、modbus等

以下内容参考AI生成内容1. I2C(Inter-Integrated Circuit,集成电路间总线)定义:由飞利浦(现恩智浦)开发的短距离串行通信总线,用于芯片级设备间的低速数据传输。工作原理:采用两根信…

bash的特性-常见的快捷键

一、前言在 Linux Shell 编程和日常使用中,Bash 快捷键 是提升命令行操作效率的利器。熟练掌握这些快捷键,不仅可以节省大量输入时间,还能显著提升你在终端环境下的操作流畅度。本文将带你全面了解 Bash 中常用的快捷键,包括&…

【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(三)

🎨 核心功能设计 👤 用户管理系统 用户管理是整个系统的基础,我设计了完整的用户生命周期管理: 🔐 用户注册流程 #mermaid-svg-D0eUHWissjNhkqlB {font-family:"trebuchet ms",verdana,arial,sans-serif;fon…