避坑指南 | 阿里云服务器centos7上MySQL部署优化指南

目录

1 检查阿里云是否安装mysql

1.1使用 rpm 命令

1.2检查 MySQL 服务状态

2 卸载mysql

2.1停止 MySQL 服务

2.2 检查已安装的 MySQL 包

2.3 卸载 MySQL 包

2.4 删除 MySQL 数据和配置文件

2.5 清理残留的依赖包

2.6 验证卸载

2.7 (可选)删除 MySQL 用户和组

3 安装mysql

3.1 清空屏幕

3.2 安装MySQL

3.3 添加MySQL Yum仓库

3.4 检查MySQL Yum仓库是否成功添加

3.5 安装MySQL社区版服务器

3.6 启动MySQL服务

3.7 修改root账户密码

4 远程访问mysql

4.1 添加远程访问权限

4.2 防火墙配置

4.3 阿里云安全组配置


1 检查阿里云是否安装mysql

1.1使用 rpm 命令

rpm -qa | grep mysql

如果已安装MySQL,命令将显示相关包名,如mysql-community-servermysql-server

1.2检查 MySQL 服务状态

输入以下命令检查 MySQL 服务状态

systemctl status mysqld
  • 如果MySQL已安装并运行,将显示服务状态。

  • 如果未安装,会提示Unit mysqld.service could not be found

我这安装了的提示如下:

2 卸载mysql

2.1停止 MySQL 服务

在卸载之前,先停止 MySQL 服务

sudo systemctl stop mysqld

停止后,MySQL将无法连接。

2.2 检查已安装的 MySQL 包

使用以下命令查看已安装的 MySQL 相关包:

rpm -qa | grep mysql

或者:

yum list installed | grep mysql

这会列出所有与 MySQL 相关的包,例如:

  • mysql-community-server

  • mysql-community-client

  • mysql-community-common

  • mysql-community-libs

2.3 卸载 MySQL 包

使用yum命令卸载MySQL及其相关包,例如:

sudo yum remove mysql84-community-release-el7-1.noarch

如果已卸载,会提示没有相关包。

也可以连续卸载多个包:

sudo yum remove mysql84-community-release-el7-1.noarch mysql-community-common-8.4.4-1.el7.x86_64 mysql-community-icu-data-files-8.4.4-1.el7.x86_64

系统会提示[Y/N],输入Y确认卸载。

注意:如果安装了MariaDB(MySQL的替代品),也需要卸载:

sudo yum remove mariadb-server mariadb-client mariadb-common mariadb-libs

2.4 删除 MySQL 数据和配置文件

卸载完成后,MySQL 的配置文件和数据库文件可能仍然存在。可以手动删除这些文件:

sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf
sudo rm -rf /etc/my.cnf.d

2.5 清理残留的依赖包

卸载后,可能会有一些不再需要的依赖包残留。可以使用以下命令清理:

sudo yum autoremove

2.6 验证卸载

确认 MySQL 是否已完全卸载:

  • 检查 MySQL 服务状态:

    systemctl status mysqld

    如果提示 Unit mysqld.service could not be found,说明已卸载成功。

  • 检查 MySQL 可执行文件:

    which mysql

    如果没有返回路径,说明 MySQL 已卸载。

2.7 (可选)删除 MySQL 用户和组

如果不再需要 MySQL 用户和组,可以手动删除:

sudo userdel mysql
sudo groupdel mysql

3 安装mysql

3.1 清空屏幕

clear

3.2 安装MySQL

yum install mysql

在CentOS 7中,默认会安装MariaDB,选择N以安装MySQL。这里我们选择N,因为我们要安装mysql。

3.3 添加MySQL Yum仓库

从MySQL官方网站下载Yum仓库RPM包:

这篇文章要好好读,这边把一些关键信息讲解下,

这段话主要讲解了如何将MySQL的Yum仓库添加到系统的仓库列表中,以便通过Yum包管理器安装或更新MySQL。具体步骤如下:

  1. 下载MySQL Yum仓库文件:从MySQL开发者专区的MySQL Yum仓库页面(https://dev.mysql.com/downloads/repo/yum/)下载适用于你平台的RPM包。

  2. 选择并下载适合你平台的发布包:根据你的操作系统平台(如Enterprise Linux或Fedora)选择合适的RPM包。

  3. 安装下载的RPM包:使用yum localinstall命令安装下载的RPM包。RPM包的命名格式为mysql84-community-release-{platform}-{version-number}.noarch.rpm,其中:

    • mysql84表示默认启用的MySQL版本(这里是MySQL 8.4),其他版本(如MySQL 8.0和MySQL Innovation系列)默认是禁用的。

    • {platform}表示平台代码,如el7el8el9(代表Enterprise Linux 7、8、9)或fc39fc40fc41(代表Fedora 39、40、41)。

    • {version-number}表示MySQL仓库配置RPM的版本号,该版本号会不定期更新。

  4. 安装命令示例:使用sudo yum install命令安装RPM包,例如:

    sudo yum install mysql84-community-release-el8-1.noarch.rpm

总结来说,这段话详细描述了如何通过下载并安装MySQL的Yum仓库RPM包,将MySQL的官方仓库添加到系统中,以便后续通过Yum安装或管理MySQL。

操作,点击https://dev.mysql.com/downloads/repo/yum/

可以下载到本地或者复制这个链接

wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm

可以看到已经下载啦

接下来安装这个包

sudo yum install mysql84-community-release-el7-1.noarch.rpm

选择Y继续安装。

3.4 检查MySQL Yum仓库是否成功添加

可以使用以下命令来验证MySQL Yum仓库是否已经被成功添加到你的系统中,并且已经启用

yum repolist enabled | grep mysql.*-community

使用grep命令过滤输出,只显示包含"mysql.*-community"的行,这通常是MySQL社区版Yum仓库的标识

3.5 安装MySQL社区版服务器

sudo yum install mysql-community-server

安装过程可能需要下载约387M的依赖包

至此mysql安装好啦

3.6 启动MySQL服务

systemctl start mysqld

检查MySQL是否启动:

ps -ef |grep mysql

systemctl status mysqld

3.7 修改root账户密码

查看root的账户密码,修改密码

#在首次安装MySQL后,系统会生成一个临时密码,并记录在日志文件中。该命令用于查找这个临时密码。
sudo grep 'temporary password' /var/log/mysqld.log#使用上一步找到的临时密码登录MySQL
mysql -uroot -p#将临时密码更改为一个更安全的自定义密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

临时密码记住,因为得先登入mysql

原文:

4 远程访问mysql

4.1 添加远程访问权限

登录MySQL:

mysql -uroot -p

输入密码后,执行以下命令:

show databases;select user,host from mysql.user;

localhost是只能本地连接

update mysql.user set host = '%' where user ='root';

4.2 防火墙配置

  • 粗暴方式

直接将防火墙关闭

#开启
service firewalld start 
#重启
service firewalld restart
#关闭
service firewalld stop
  • 安全方式

开放3306端口并重启防火墙

#查询端口是否开放
firewall-cmd --query-port=3306/tcp
#开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
#移除3306端口
firewall-cmd --permanent --remove-port=3306/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

4.3 阿里云安全组配置

确保阿里云安全组规则允许3306端口的访问

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

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

相关文章

位运算--求二进制中1的个数

位运算–求二进制中1的个数 给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。 输入格式 第一行包含整数 n。 第二行包含 n 个整数,表示整个数列。 输出格式 共一行,包含 n 个整数,其中的第 i 个数表…

Go语言的基础类型

一基础数据类型 一、布尔型(Bool) 定义:表示逻辑真 / 假,仅有两个值:true 和 false内存占用:1 字节使用场景:条件判断、逻辑运算 二、数值型(Numeric) 1. 整数类型&…

SpringBoot整合MQTT最详细版(亲测有效)

一、导入pom.xml依赖 <!--mqtt依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration</artifactId></dependency><dependency><groupId>org.springframework.in…

记一次发短信接口分析

忘记密码接口 数据包 GET /api/weatherforcast/user/send/17777777777 HTTP/2 Host: Cookie: SECKEY_ABVKd1GnERPtEFYSs7fL9W7VzoxAG0rjit7K8hAiMGIySpo522Wig70mdKRZQlvXNuqUTh9sBTWXG6XJ7miFZtA%3D%3D; Hm_lvt_018467e59f9d76a72cdbed870456819b1742445251,1742456927,1742…

dfs刷题排列问题 + 子集问题 + 组和问题总结

文章目录 一、排列问题全排列II题解代码 优美的排列题解代码 二、子集问题字母大小写全排列题解代码 找出所有子集的异或总和再求和题解代码 三、组合问题电话号码的字母组合题解代码 括号生成题解代码 组合题解代码 目标和题解代码 组合总和题解代码 总结 一、排列问题 全排列…

【AVRCP】蓝牙链路控制器(LC)与AVRCP互操作性要求深度解析

目录 一 、Link Controller&#xff08;LC&#xff09;概述 1.1 LC的定义与功能 1.2 LC在蓝牙技术中的重要性 二、Link Controller&#xff08;LC&#xff09;互操作性要求 2.1 互操作性要求概述 2.2 物理层互操作性要求 2.3 链路管理互操作性要求 2.4 其他互操作性要求…

go + vscode + cline +qwen 快速构建 MCP Server

go 编译自定义 mcp tool current time tool 代码 package mainimport ("context""fmt""time""github.com/mark3labs/mcp-go/mcp""github.com/mark3labs/mcp-go/server" )func main() {// Create MCP servers : server.New…

C语言-动态内存管理

1.为什么要有动态内存分配 我们现如今已经掌握的内存开辟方式有 int main() {int a 0;int arr[30] { 0 };return 0; } 这两种方式&#xff0c;但是这种开辟空间的方式有两个特点&#xff1a; 1.空间开辟大小是固定的 2.数组在申明的时候&#xff0c;必须指定数组的长度&…

Java复习

在开篇前首先申明一下&#xff0c;本文虽不够系统&#xff0c;但复习够用&#xff0c;尤其是快速回忆( •̀ ω •́ )✧与提问。 主打一个速度。 本文将会从Java的基础语法、面向对象、API、字符串、集合、进阶...等六方面讲起。 一、Java的基础语法&#xff1a; 1、Java入门…

Vue+ElementUI 字符串数组标签化展示组件

一. 效果 数据&#xff1a;‘[“苹果”,“香蕉”]’ 可添加&#xff0c;编辑&#xff0c;删除。 二. 组件源码 <template><div><div v-for"(item, index) in items":key"index"><el-inputv-if"inputVisible && ed…

识别并脱敏上传到deepseek/chatgpt的文本文件中的身份证/手机号

本文将介绍一种简单高效的方法解决用户在上传文件到DeepSeek、ChatGPT,文心一言,AI等大语言模型平台过程中的身份证号以及手机号等敏感数据识别和脱敏问题。 DeepSeek、ChatGPT,Qwen,Claude等AI平台工具快速的被接受和使用,用户每天上传的文本数据中潜藏着大量敏感信息,…

UR5e机器人位姿

UR5e 作为一款 6 自由度协作机器人&#xff0c;其末端执行器的位姿&#xff08;位置与姿态的组合&#xff09;控制是实现精准操作的核心。在笛卡尔坐标系中&#xff0c;位姿通常用齐次变换矩阵表示&#xff0c;包含末端的三维位置&#xff08;x, y, z&#xff09;和三维姿态&am…

小白闯AI:Llama模型Lora中文微调实战

文章目录 0、缘起一、如何对大模型进行微调二、模型微调实战0、准备环境1、准备数据2、模型微调第一步、获取基础的预训练模型第二步:预处理数据集第三步:进行模型微调第四步:将微调后的模型保存到本地4、模型验证5、Ollama集成部署6、结果测试三、使用总结AI是什么?他应该…

Linux基础开发工具——gdb/cgdb(7)

文章目录 前言一、生成可调试文件二、调试打开与关闭启动调试l 查看代码退出调试运行与断点单行与单步 三、查看变量bt 查看调用堆栈p 临时查看变量display 常显示变量 四、快速跳转until 指定行finish 函数c 断点 五、其他指令disable 断点使能set var 设置条件ptype 查看变量…

Python 3.13.2安装教程(安装包)Python 3.13.2 快速安装指南

文章目录 前言一 、Python 3.13.2下载二、Python 3.13.2安装教程1.运行安装程序2.选择安装方式3.自定义安装选项4.开始安装5.安装完成6.打开程序7.验证安装 前言 Python 作为一门通用编程语言&#xff0c;在全球拥有庞大的用户群体。其简洁易读的语法和丰富的库&#xff0c;使…

游戏MOD伴随盗号风险,仿冒网站借“风灵月影”窃密【火绒企业版V2.0】

游戏MOD&#xff08;即游戏修改器&#xff09;是一种能够对游戏进行修改或增强的程序&#xff0c;因其能够提升游戏体验&#xff0c;在玩家群体中拥有一定的市场。然而&#xff0c;这类程序大多由第三方开发者制作&#xff0c;容易缺乏完善的安全保障机制&#xff0c;这就为不法…

【读点论文】Chain Replication for Supporting High Throughput and Availability

在分布式系统中&#xff0c;强一致性往往和高可用、高吞吐是矛盾的。比如传统的关系型数据库&#xff0c;其保证了强一致性&#xff0c;但往往牺牲了可用性和吞吐量。而像 NoSQL 数据库&#xff0c;虽然其吞吐量、和扩展性很高&#xff0c;但往往只支持最终一致性&#xff0c;无…

新书速览|云原生Kubernetes自动化运维实践

《云原生Kubernetes自动化运维实践》 本书内容&#xff1a; 《云原生Kubernetes自动化运维实践》以一名大型企业集群运维工程师的实战经验为基础&#xff0c;全面系统地阐述Kubernetes&#xff08;K8s&#xff09;在自动化运维领域的技术应用。《云原生Kubernetes自动化运维实践…

Linux驱动学习笔记(六)

平台总线 1.平台总线模型也叫platform总线模型&#xff0c;平台总线是Linux系统虚拟出来的总线, 引入总线的概念可以对驱动代码和设备信息进行分离。平台总线模型将一个驱动分成了两个部分&#xff1a;platform_device和platform_driver&#xff0c;例如可使用文件device.c和d…

高频GNSS同震形变计算方法

高频GNSS&#xff08;通常采样率为 1Hz-50Hz&#xff09;可以提供高时间分辨率的地震形变信息&#xff0c;计算同震形变&#xff08;coseismic displacement&#xff09;的方法主要包括 趋势线法 和 基线法。