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

在 CentOS 7 上安装 MySQL 8

在 CentOS 7 上安装 MySQL 8

步骤 1: 添加 MySQL Yum 存储库

首先,我们需要添加 MySQL Yum 存储库。打开终端并执行以下命令:

sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

步骤 2: 导入 MySQL GPG 公钥

查看MYSQL公钥
根据自己需要安装的MYSQL8的版本导入 MySQL 的 GPG 公钥,以确保软件包的完整性:

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

导入秘钥防止出现缺少公钥(Public key for mysql-community-client-plugins-8.0.35-1.el7.x86 64.rpm is not installed)的错误:
在这里插入图片描述

步骤 3: 安装 MySQL 8

执行以下命令来安装 MySQL 8:

sudo yum install -y mysql-community-server

如果出现密钥不适合当前软件包的错误:
在这里插入图片描述
可以通过在命令行中加入 --nogpgcheck 参数来暂时绕过 GPG 检查。

生产环境中,最好还是要确保所有软件包都经过正确的签名验证,以避免潜在的安全风险。如果可能的话,始终推荐获取并导入正确的 GPG 公钥。

sudo yum install -y mysql-community-server --nogpgcheck

出现下面日志则说明安装成功了
在这里插入图片描述

步骤 4: 启动 MySQL 服务

安装完成后,启动 MySQL 服务:

sudo systemctl start mysqld

步骤 5: 设置 MySQL 开机自启

使 MySQL 在系统启动时自动启动:

sudo systemctl enable mysqld

步骤 6: 获取初始密码

MySQL 安装完成后,初始密码会保存在日志文件中。使用以下命令查看密码:

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

步骤 7: 修改初始密码

使用以下命令登录 MySQL 并修改初始密码:

mysql -u root -p

按照提示输入初始密码,然后执行以下 SQL 语句:

# 设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
# 刷新权限
FLUSH PRIVILEGES;

替换 'your_new_password' 为你想要设置的新密码。

MySQL8.0 创建用户、配置用户权限、添加外网访问

步骤 8: 配置 MySQL 安全性

MySQL 提供了一个脚本来加强安全性。运行以下命令:

sudo mysql_secure_installation

按照提示回答问题,选择是否更改密码策略、删除匿名用户、禁止远程 root 登录等。

步骤 9: 验证 MySQL 安装

最后,验证 MySQL 是否正确安装并正在运行:

sudo systemctl status mysqld

你应该看到 MySQL 服务正在运行的信息:
在这里插入图片描述

相关文章:

  • AI数字人直播大屏:创新科技赋能企业的未来
  • 如果每天工资按代码行数来算,来看看你每天工资是多少
  • 【Python】多年数据分成不同sheet
  • Leetcode—2336.无限集中的最小数字【中等】
  • 蓝桥杯day02——Fizz Buzz
  • 超声波清洗机器哪个品牌好用?这四款都夸的超声波清洗机
  • Hive数据库与表操作
  • Git设置多个仓库同时推送
  • Encoder、Decoder和Encoder-Decoder
  • leetcode每日一题35
  • 【matlab程序】图像最大化填充画布
  • PyTorch入门教学——加载数据(Dataset)
  • 智能学习台灯_AI摄像头学习机基于MTk8175方案
  • mysql处理40w数据脚本执行慢问题
  • Clickhouse使用总结
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Angular 响应式表单之下拉框
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • css系列之关于字体的事
  • Druid 在有赞的实践
  • HTML中设置input等文本框为不可操作
  • Javascript编码规范
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Material Design
  • Python打包系统简单入门
  • Spark RDD学习: aggregate函数
  • 对JS继承的一点思考
  • 理解在java “”i=i++;”所发生的事情
  • 系统认识JavaScript正则表达式
  •  一套莫尔斯电报听写、翻译系统
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (算法二)滑动窗口
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)IOS中获取各种文件的目录路径的方法
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .htaccess配置重写url引擎
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET delegate 委托 、 Event 事件
  • @DataRedisTest测试redis从未如此丝滑
  • @RequestMapping 的作用是什么?
  • [ IO.File ] FileSystemWatcher
  • [BUUCTF]-Reverse:reverse3解析
  • [C#]winform部署PaddleOCRV3推理模型
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [codeforces]Levko and Permutation
  • [COI2007] Sabor
  • [Contest20180313]灵大会议