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

避坑指南 | 阿里云服务器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端口的访问

相关文章:

  • C++之模板进阶
  • 亮相AWE2025,MOVA以科技重塑生活,以美学沟通世界
  • 标贝科技入选2025年市级数据要素市场化配置改革“揭榜挂帅”名单
  • 2025蓝桥杯备赛Day1——B2109 统计数字字符个数
  • 微信小游戏:跳一跳,自动化操作
  • 4.6--入门知识扫盲,路径追踪与路由误导:Tracert攻击 vs ICMP重定向攻击(包你看一遍全记住)
  • squirrel语言全面介绍
  • JAVA学习--java数组--打印稀疏数组和稀疏数组的还原
  • React基础语法速览
  • 每日一题力扣2960.统计已测试设备c++
  • 从零开始:使用 Cython + JNI 在 Android 上运行 Python 算法
  • C++进阶(一)
  • 智能照明与新能源集成的精细化能效管理实践
  • 蓝桥杯备赛-DFS-有奖问答
  • Android中的setInheritRT
  • JAVA_数据结构_栈和队列
  • 实现分布式锁需要考虑哪些问题?
  • 组播策略路由选择
  • SSH密钥认证 + 文件系统权限控制 + Git仓库配置+封存与解封GIT仓库
  • mac环境下chatwoot客服聊天docker本地部署+对接通义千问Qwen2.5
  • 季子文化与江南文化的根脉探寻与融合
  • 航行警告:渤海海峡黄海北部执行军事任务,禁止驶入
  • 韩国执政党总统候选人更换方案被否决,金文洙候选人资格即刻恢复
  • 长沙潮宗街内“金丝楠木老屋文旅博物馆”起火:明火已扑灭,无伤亡
  • 面对非专业人士,科学家该如何提供建议
  • 经济日报刊文:品牌经营不能让情怀唱“独角戏”