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

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

 

🌟 各位看官好,我是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 

Read more

【前端实战】如何让用户回到上次阅读的位置?

【前端实战】如何让用户回到上次阅读的位置?

目录 【前端实战】如何让用户回到上次阅读的位置? 一、总体思路 1、核心目标 2、涉及到的技术 二、实现方案详解 1、基础方法:监听滚动,记录 scrollTop(不推荐) 2、Intersection Observer + 插入探针元素 3、基于 URL Hash 锚点跳转 三、总结 1、不同方案间对比总结 2、结语         作者:watermelo37         ZEEKLOG万粉博主、华为云云享专家、阿里云专家博主、腾讯云、支付宝合作作者,全平台博客昵称watermelo37。         一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。 --------------------------------------------------------------------- 温柔地对待温柔的人,包容的三观就是最大的温柔。 -------------------------------------------------------------

By Ne0inhk

Docker+WebDAV极速部署Joplin私有云笔记全攻略

1. 为什么你需要一个私有云笔记同步方案? 如果你和我一样,是个重度笔记使用者,每天在电脑、手机、平板之间切换,那你肯定遇到过同步的烦恼。用过一些大厂的云服务,速度时快时慢不说,最让人心里没底的是,你的所有想法、工作记录、甚至一些敏感信息,都存放在别人的服务器上。这种“数据寄人篱下”的感觉,对于追求效率和安全的个人开发者或小团队来说,实在是不太舒服。 Joplin 的出现完美解决了笔记软件本身的问题:开源、免费、全平台支持、强大的 Markdown 编辑能力。但它的同步,官方推荐 Joplin Cloud 或者第三方网盘(如 Dropbox、OneDrive)。前者需要付费,后者在国内访问不稳定,且同样存在隐私顾虑。这时候,自建同步服务器的优势就凸显出来了:数据完全私有,速度取决于你自己的服务器带宽,一次部署,终身免费使用。 在众多自建方案中,WebDAV 协议 因其简单、通用、

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 cached_query 为鸿蒙应用打造高性能声明式数据缓存系统(前端缓存终极方案)

Flutter for OpenHarmony: Flutter 三方库 cached_query 为鸿蒙应用打造高性能声明式数据缓存系统(前端缓存终极方案)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 应用开发时,网络请求的响应速度直接决定了用户体验(体验 UX)。如果用户每次切换页面都必须等待加载动画,应用会显得非常低级。我们不仅需要处理异步数据请求,更需要一套精密的机制来解决以下痛点: 1. 自动缓存:第二次访问时应瞬间展示历史数据。 2. 过期失效(Stale-while-revalidate):在展示旧数据的同时,后台静默拉取新数据。 3. 无限滚动:简单地处理分页与数据追加内容逻辑。 cached_query 是一个类似于 Web 端 React Query 的 Dart 状态管理库。它专注于数据获取与同步,让你的鸿蒙应用具备顶级的数据缓存表现。 一、核心缓存驱动机制 cached_query 在内存与数据源之间建立了一层“智能感知”缓存。 数据过期/缺失 返回新数据 发射流

By Ne0inhk
不用部署服务器,也能给前端 / 客户演示?内网穿透实战分享

不用部署服务器,也能给前端 / 客户演示?内网穿透实战分享

在日常开发中,经常会遇到一个很现实的问题:  功能已经在本地开发完成了,但前端同事、测试、客户都看不到效果。 很多人的第一反应是: 部署一套测试服务器。 但实际情况往往是 * 服务器没准备好 * 只是临时演示 * 改动频繁,反复部署很浪费时间 后来我发现,其实根本不需要部署服务器,用内网穿透就能很优雅地解决这个问题。 一、真实场景说明 场景 1:给前端联调接口 后端服务跑在本地: http://localhost:8080 问题是: * 前端在外地 * 无法访问本地接口 * 每次改接口都要重新部署 场景 2:给客户演示功能 * 新功能刚开发完 * 客户想先看看效果 * 但还没上线正式环境 这时候再去搞服务器,明显有点“杀鸡用牛刀”。 二、传统方案为什么不太合适? 对于“临时演示 / 联调”来说,都太重了。 三、解决方案:内网穿透 内网穿透的核心思路只有一句话: 把你本地的服务,

By Ne0inhk