MySQL 在 CentOS 7 环境下的安装教程

news2025/6/1 6:48:45

 

 

🌟 各位看官好,我是maomi_9526

🌍 种一棵树最好是十年前,其次是现在!

🚀 今天来学习Mysql的相关知识。

👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦

目录

1. 卸载现有的 MariaDB/MySQL 环境

步骤 1: 检查 MariaDB 服务

步骤 2: 卸载 MariaDB 或 MySQL

2. 检查系统中已安装的 MySQL 包

3. 获取 MySQL 官方 YUM 源

步骤 1: 下载 MySQL YUM 源 RPM 包

步骤 2: 安装 MySQL YUM 源

4. 安装 MySQL 服务

5. 检查 YUM 源是否正常工作

6. 查看 MySQL 配置文件和数据存储位置

7. 启动 MySQL 服务

验证 MySQL 服务是否正常启动

8. 获取临时 root 密码

9. 登录 MySQL

10. 修改 root 密码

11. 配置 MySQL 为开机自启动

12. 配置 MySQL 的字符集和编码

13. 常见问题处理

问题 1: MySQL 无法显示中文字符

问题 2: GPG 密钥过期


1. 卸载现有的 MariaDB/MySQL 环境

在安装新的 MySQL 之前,需要卸载现有的 MariaDB 或 MySQL 服务(如果已经安装)。

步骤 1: 检查 MariaDB 服务

使用以下命令检查系统中是否存在 MariaDB 服务:

ps ajx | grep mariadb

如果发现有 MariaDB 进程正在运行,停止它:

systemctl stop mariadb.service
步骤 2: 卸载 MariaDB 或 MySQL

根据安装的包,使用以下命令卸载相关包(例如,mariadbmysql):

sudo yum remove mariadb

备份 /etc/my.cnf 配置文件和 /var/lib/mysql 数据目录,以便在重新安装时恢复数据。

2. 检查系统中已安装的 MySQL 包

在卸载之前,您可以检查系统中已安装的 MySQL 包:

rpm -qa | grep mariadb

或者:

rpm -qa | grep mysql

示例输出:

mysql-community-common-5.7.41-1.el7.x86_64
mysql-community-server-5.7.41-1.el7.x86_64
mysql-community-client-5.7.41-1.el7.x86_64

如果有相关的 MySQL 或 MariaDB 包,继续卸载步骤。

3. 获取 MySQL 官方 YUM 源

前往 MySQL 官方 YUM 源页面(MySQL Yum Repository)下载适合 CentOS 7 的 MySQL 版本,并上传到 CentOS 服务器上。

步骤 1: 下载 MySQL YUM 源 RPM 包

下载 RPM 包,如 mysql57-community-release-el7-10.noarch.rpm,并上传到服务器。

步骤 2: 安装 MySQL YUM 源

通过以下命令安装 MySQL YUM 源:

sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

4. 安装 MySQL 服务

确保已经安装了 MySQL YUM 源后,使用以下命令安装 MySQL 服务器:

sudo yum install -y mysql-community-server

5. 检查 YUM 源是否正常工作

安装完毕后,检查系统中的 YUM 包列表,确保 MySQL 包已正确安装:

yum list | grep mysql

6. 查看 MySQL 配置文件和数据存储位置

查看 MySQL 配置文件路径和数据存储目录:

ls /etc/my.cnf
sudo ls /var/lib/mysql

7. 启动 MySQL 服务

启动 MySQL 服务:

sudo systemctl start mysqld.service
验证 MySQL 服务是否正常启动

使用以下命令查看 MySQL 服务进程:

ps axj | grep mysqld

8. 获取临时 root 密码

查看 MySQL 启动日志,获取 MySQL 临时 root 密码:

sudo grep 'temporary password' /var/log/mysqld.log

例如:

2021-04-12T03:23:46.153263Z 1 [Note] A temporary password is generated for root@localhost: yLMalT:v+5l*

9. 登录 MySQL

使用临时密码登录 MySQL:

mysql -uroot -p

10. 修改 root 密码

为了增强安全性,修改 root 用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;

11. 配置 MySQL 为开机自启动

可以设置 MySQL 服务在系统启动时自动启动:

sudo systemctl enable mysqld
sudo systemctl daemon-reload

12. 配置 MySQL 的字符集和编码

打开 /etc/my.cnf 配置文件,配置字符集为 utf8,确保数据库支持中文字符:

[mysqld]
character-set-server=utf8
default-storage-engine=innodb

配置完毕后,重启 MySQL 服务:

sudo systemctl restart mysqld

13. 常见问题处理

问题 1: MySQL 无法显示中文字符

确保在终端中设置正确的语言环境,检查 LANG 环境变量:

env | grep LANG

如果显示不是 en_US.UTF-8,可以通过以下命令更改:

export LANG=en_US.UTF-8
问题 2: GPG 密钥过期

如果遇到 GPG 密钥过期的错误,使用以下命令更新密钥:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

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

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

相关文章

K8S集群主机网络端口不通问题排查

一、环境: k8s: v1.23.6 docker: 20.10.14 问题和故障现象:devops主机集群主机节点到端口8082不通(网络策略已经申请,并且网络策略已经实施完毕),而且网络实施人员再次确认,网络策…

python打卡day39

知识点回顾 图像数据的格式:灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 课程代码: # 先继续之前的代码 import torch import torch.nn as nn import torch.opti…

3.8.5 利用RDD统计网站每月访问量

本项目旨在利用Spark RDD统计网站每月访问量。首先,创建名为“SparkRDDWebsiteTraffic”的Maven项目,并添加Spark和Scala的依赖。接着,编写Scala代码,通过SparkContext读取存储在HDFS上的原始数据文件,使用map和reduce…

尚硅谷redis7 49-51 redis管道之理论简介

前提redis事务和redis管道有点像,但本质上截然不同 49 redis管道之理论简介 面试题 如何优化频繁命令往返造成的性能瓶颈? redis每秒可以承受8万的写操作和接近10万次以上的读操作。每条命令都发送、处理、返回,能不能批处理一次性搞定呢…

openEuler安装MySql8(tar包模式)

操作系统版本: openEuler release 22.03 (LTS-SP4) MySql版本: 下载地址: https://dev.mysql.com/downloads/mysql/ 准备安装: 关闭防火墙: 停止防火墙 #systemctl stop firewalld.service 关闭防火墙 #systemc…

基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统

详细视频:【基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统-哔哩哔哩】 https://b23.tv/azUqQXe

Git:现代软件开发的基石——原理、实践与行业智慧·优雅草卓伊凡

Git:现代软件开发的基石——原理、实践与行业智慧优雅草卓伊凡 一、Git的本质与核心原理 1. 技术定义 Git是一个分布式版本控制系统(DVCS),由Linus Torvalds在2005年为管理Linux内核开发而创建。其核心是通过快照(Sna…

NLua性能对比:C#注册函数 vs 纯Lua实现

引言 在NLua开发中,我们常面临一个重要选择:将C#函数注册到Lua环境调用,还是直接在Lua中实现逻辑? 直觉告诉我们,C#作为编译型语言性能更高,但跨语言调用的开销是否会影响整体性能?本文通过基准…

【计算机网络】第2章:应用层—Web and HTTP

目录 一、Web 与 HTTP 二、总结 (一)Web 的定义与功能 (二)HTTP 协议的定义与功能 (三)HTTP 协议的核心机制 1. HTTP 请求与响应流程 2. HTTP 的连接类型 3. HTTP 的状态码 (四&#xf…

数字孪生技术赋能西门子安贝格工厂:全球智能制造标杆的数字化重构实践

在工业4.0浪潮席卷全球制造业的当下,西门子安贝格电子制造工厂(Electronic Works Amberg, EWA)凭借数字孪生技术的深度应用,构建起全球制造业数字化转型的典范。这座位于德国巴伐利亚州的“未来工厂”,通过虚实融合的数…

【图像处理基石】立体匹配的经典算法有哪些?

1. 立体匹配的经典算法有哪些? 立体匹配是计算机视觉中从双目图像中获取深度信息的关键技术,其经典算法按技术路线可分为以下几类,每类包含若干代表性方法: 1.1 基于区域的匹配算法(Local Methods) 通过…

day12 leetcode-hot100-19(矩阵2)

54. 螺旋矩阵 - 力扣(LeetCode) 1.模拟路径 思路:模拟旋转的路径 (1)设计上下左右方向控制器以及边界。比如zy1向右,zy-1向左;sx1向上,sx-1向下。上边界0,下边界hang-1&a…

密钥管理系统在存储加密场景中的深度实践:以TDE透明加密守护文件服务器安全

引言:数据泄露阴影下的存储加密革命 在数字化转型的深水区,企业数据资产正面临前所未有的安全挑战。据IBM《2025年数据泄露成本报告》显示,全球单次数据泄露事件平均成本已达465万美元,其中存储介质丢失或被盗导致的损失占比高达…

webpack打包基本配置

需要的文件 具体代码 webpack.config.js const path require(path);const HTMLWebpackPlugin require(html-webpack-plugin);const {CleanWebpackPlugin} require(clean-webpack-plugin); module.exports {mode: production,entry: "./src/index.ts",output: {…

酷派Cool20/20S/30/40手机安装Play商店-谷歌三件套-GMS方法

酷派Cool系列主打低端市场,系统无任何GMS程序,也不支持直接开启或者安装谷歌服务等功能,对于国内部分经常使用谷歌服务商店的小伙伴非常不友好。涉及机型有酷派Cool20/Cool20S /30/40/50/60等旗下多个设备。好在这些机型运行的系统都是安卓11…

LabVIEW旋转机械智能监测诊断系统

采用 LabVIEW 开发旋转机械智能监测与故障诊断系统,通过集品牌硬件与先进信号处理技术,实现旋转机械振动信号的实时采集、分析及故障预警。系统突破传统监测手段的局限性,解决了复杂工业环境下信号干扰强、故障特征提取难等问题,为…

【芯片设计中的跨时钟域信号处理:攻克亚稳态的终极指南】

在当今芯片设计中,多时钟域已成为常态。从手机SoC到航天级FPGA,不同功能模块运行在各自的时钟频率下,时钟域间的信号交互如同“语言不通”的对话,稍有不慎就会引发亚稳态、数据丢失等问题。这些隐患轻则导致功能异常,重…

接地气的方式认识JVM(一)

最近在学jvm,浮于表面的学了之后,发现jvm并没有我想象中的那么神秘,这篇文章将会用接地气的方式来说一说这些jvm的相关概念以及名词解释。 带着下面两个问题来阅读 认识了解JVM大致有什么在代码运行时的都在背后做了什么 JVM是个啥&#xf…

JAVA:Kafka 消息可靠性详解与实践样例

🧱 1、简述 Apache Kafka 是高吞吐、可扩展的流处理平台,在分布式架构中广泛应用于日志采集、事件驱动和微服务解耦场景。但在使用过程中,消息是否会丢?何时丢?如何防止丢? 是很多开发者关心的问题。 Kafka 提供了一套完整的机制来保障消息从生产者 ➜ Broker ➜ 消费…

Electron 桌面程序读取dll动态库

序幕:被GFW狙击的第一次构建 当我在工位上输入npm install electron时,控制台跳出的红色警报如同数字柏林墙上的一道弹痕: Error: connect ETIMEDOUT 104.20.22.46:443 网络问题不用愁,请移步我的另外文章进行配置:…