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

(2024最新)CentOS 7上在线安装MySQL 5.7

在CentOS 7上安装MySQL 5.7并配置允许远程连接,以下是详细步骤:

1. 添加MySQL官方存储库

首先,下载并添加MySQL的官方存储库。默认情况下,添加的存储库可能会包含最新的MySQL版本(如MySQL 8.0),所以我们需要调整存储库以启用MySQL 5.7。

#随便进入一个目录
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
# 导入MySQL GPG密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

tips:导入MySQL GPG密钥的作用是防止出现以下报错:

从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
导入 GPG key 0x5072E1F5:用户ID     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"指纹       : a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5软件包     : mysql57-community-release-el7-11.noarch (installed)来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
是否继续?[y/N]:ymysql-community-libs-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装失败的软件包是:mysql-community-libs-5.7.44-1.el7.x86_64GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

2. 安装MySQL 5.7

安装MySQL 5.7服务器。

sudo yum install mysql-community-server

3. 启动MySQL服务

安装完成后,启动MySQL服务并设置为开机启动。

sudo systemctl start mysqld
sudo systemctl enable mysqld

4. 获取临时密码

在安装过程中,MySQL会为root用户生成一个临时密码。你可以在日志文件中找到这个密码。

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

5. 安全设置

使用临时密码登录MySQL,并运行安全设置脚本。

mysql_secure_installation

你将被提示输入临时密码并设置新密码。随后,会有一系列安全配置选项:

  • 是否设置密码强度验证插件:Re-enter new password:
  • 是否更改root密码:Change the password for root ? ((Press y|Y for Yes, any other key for No) :
  • 是否删除匿名用户:Remove anonymous users? (Press y|Y for Yes, any other key for No) :
  • 是否禁止root远程登录(该项禁止的话无法本地root账号连接数据库 !):Remove anonymous users? (Press y|Y for Yes, any other key for No) :
  • 是否删除测试数据库:Remove anonymous users? (Press y|Y for Yes, any other key for No) :
  • 是否重新加载权限表:Remove anonymous users? (Press y|Y for Yes, any other key for No) :

通常你可以选择"yes"来加强安全性。

6. 登录MySQL

使用新设置的root密码登录MySQL。

mysql -u root -p

7. 设置允许远程连接

执行以下SQL命令来创建用户并允许远程连接:

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8. 配置MySQL以允许远程连接(没有就跳过)

编辑MySQL配置文件 /etc/my.cnf/etc/my.cnf.d/mysql-server.cnf,注释掉或修改 bind-address 行,使MySQL监听所有IP地址:

sudo vi /etc/my.cnf

找到以下行并注释掉:

#bind-address = 127.0.0.1

或者修改为:

bind-address = 0.0.0.0

9. 重启MySQL服务

使配置生效:

sudo systemctl restart mysqld

10. 配置防火墙

允许MySQL的默认端口(3306)通过防火墙:

sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload

总结

通过以上步骤,你可以在CentOS 7上成功安装并配置MySQL 5.7数据库,并允许远程连接。以下是完整的命令列表,便于复制和执行:

# 下载并添加MySQL官方存储库
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm# 安装MySQL 5.7
sudo yum install mysql-community-server# 启动MySQL服务并设置为开机启动
sudo systemctl start mysqld
sudo systemctl enable mysqld# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log# 运行安全设置脚本
mysql_secure_installation# 登录MySQL
mysql -u root -p# 设置允许远程连接
# 以下命令在MySQL命令行中执行
# CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
# GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
# FLUSH PRIVILEGES;# 配置MySQL以允许远程连接
# 编辑 /etc/my.cnf 文件
sudo vi /etc/my.cnf# 注释掉 bind-address 行
#bind-address = 127.0.0.1# 或者修改为:
bind-address = 0.0.0.0# 重启MySQL服务
sudo systemctl restart mysqld# 配置防火墙
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload

相关文章:

(2024最新)CentOS 7上在线安装MySQL 5.7

在CentOS 7上安装MySQL 5.7并配置允许远程连接&#xff0c;以下是详细步骤&#xff1a; 1. 添加MySQL官方存储库 首先&#xff0c;下载并添加MySQL的官方存储库。默认情况下&#xff0c;添加的存储库可能会包含最新的MySQL版本&#xff08;如MySQL 8.0&#xff09;&#xff0c…...

【C++高阶】C++继承学习手册:全面解析继承的各个方面

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;模板进阶 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 继承 &#x1f4d6;1. 继承的概念及定义…...

使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题

B站UP主视频 感谢UP主“白菜工厂1145号员工”的“熟肉”&#xff0c;我这篇笔记就不展示整一个训练和推理流程&#xff0c;重点写的4060该注意的一些事项。如何解决断句模糊的问题&#xff0c;在本篇笔记的最末尾。 相关连接&#xff1a; 原项目github UP主的说明文档 1、训…...

如何对stm32查看IO功能。

有些同学对于别人的开发板的资源&#xff0c;或者IO口&#xff0c;或者串口等资源不知道怎么分配。 方法1、看硬石、野火、正点原子的开发板&#xff0c;看下他们的例子&#xff0c;那个资源用什么。自己多看几个原理图&#xff0c;多看几个视频&#xff0c;做一下笔记。以后依…...

docker构建jdk17镜像

资料参考 参考自黑马教程&#xff1a;10.Docker基础-自定义镜像_哔哩哔哩_bilibili 更多详细语法声明&#xff0c;请参考官网文档&#xff1a;https://docs.docker.com/engine/reference/builder 初步准备 1、下载jdk17包&#xff08;linux版&#xff09;&#xff0c;我这边版…...

Android Uri转File path路径,Kotlin

Android Uri转File path路径&#xff0c;Kotlin /*** URI转化为file path路径*/private fun getFilePathFromURI(context: Context, contentURI: Uri): String? {val result: String?var cursor: Cursor? nulltry {cursor context.contentResolver.query(contentURI, null…...

iOS界面设计要点:四大模块解析

UI设计不是艺术设计&#xff0c;这限制了我们从设备和现有技术开始设计。因此&#xff0c;熟悉每个平台的设计规则已经成为每个设计师的第一课&#xff0c;也是每个设计师必要的专业知识。 今天小边给您带来了iOS设计规范&#xff0c;希望帮助您快速熟悉iOS平台设计规范&#…...

数字取证技术(Digital Forensics Technology)实验课II

数字取证技术(Digital Forensics Technology)实验课II 本文是我本学期的教学课题目,不包含任何博客知识分享,无关的读者可忽略; 实验练习题 (♞思考):请对工作邮件进行签名;“problem3_1.txt"里存储的是由John Doe撰写的真实的邮件,而"problem3_2.txt"里存储的…...

Redis缓存的使用

1.缓存穿透 描述&#xff1a;查询数据在redis不存在&#xff0c;请求打到数据库 解决方法&#xff1a; 缓存空值 当出现Redis查不到数据&#xff0c;数据库也查不到数据的情况&#xff0c;我们就把这个key保存到Redis中&#xff0c;设置value"null"&#xff0c;并设…...

力扣LCP 08.剧情触发时间

力扣LCP 08.剧情触发时间 前缀和 二分 对increase求前缀和 在前缀和数组上做二分 找到符合要求的最小时间 class Solution {public:vector<int> getTriggerTime(vector<vector<int>>& increase, vector<vector<int>>& requirements)…...

Elasticsearch-IndexTemplate和DynamicTemplate 有什么区别

Elasticsearch中的Index Template和Dynamic Template是两种不同的概念&#xff0c;它们在索引管理中扮演不同的角色&#xff1a; ### Index Template&#xff08;索引模板&#xff09; 1. **目的**&#xff1a;用于定义新索引的默认设置&#xff0c;包括映射、设置、别名等。 …...

list集合自定义排序

一、基本类型排序 1.list中只有数字或字符串 //升序排序 List<T> ,T为数字或字符串 Collections.sort(list); //降序排序 Collections.sort(list,Collections.reverseOrder());2.list中为对象 基于jdk.18 import lombok.Data;Data public class User {private int i…...

PHP Cookies:应用与管理

在Web开发中&#xff0c;Cookies是一种在客户端&#xff08;通常是浏览器&#xff09;存储少量数据的机制。PHP作为一种服务器端脚本语言&#xff0c;提供了对Cookies的全面支持&#xff0c;使得开发者可以轻松地设置、读取和删除Cookies。Cookies通常用于存储用户的会话信息&a…...

【GD32F303红枫派使用手册】第十四节 DAC-输出电压实验

14.1 实验内容 通过本实验主要学习以下内容&#xff1a; DAC工作原理 使用DAC输出电压 14.2 实验原理 14.2.1 DAC工作原理 我们上几章学习了ADC&#xff0c;本章我们来学习DAC。ADC是模-数转换&#xff0c;即模拟量转换为数字量&#xff0c;DAC正好相反&#xff0c;即数-…...

java 使用Log4j进行日志记录

要在Java项目中使用Log4j进行日志记录&#xff0c;需要经过以下步骤&#xff1a; 添加Log4j依赖&#xff1a;在项目的pom.xml文件中&#xff0c;添加Log4j依赖。例如&#xff1a; <dependency><groupId>log4j</groupId><artifactId>log4j</artifa…...

【问题解决】adb remount 失败或刷机无法连接设备(KaiOS)

问题描述 1、设备无法adb remount成功&#xff0c; 2、通过fastboot无法识别设备&#xff0c;一直卡住 3、已经识别到9008端口&#xff0c;但是设备与刷机工具connect fail&#xff0c;甚至软件crash 解决方案 1、安装高通驱动工具&#xff1a;QDLoder HS-USB Driver QDLoade…...

为什么电容两端电压不能突变

我们先从RC延时电路说起吧&#xff0c;图1是最简单的RC延时电路&#xff0c;给一个阶跃的电压信号&#xff0c;电压会变成黄色曲线这个样子&#xff0c;这是为什么呢&#xff1f; 图1 电压跳变后&#xff0c;电源负极电子移动到电容下极板&#xff0c;排斥上极板电子流动到电源…...

Redux 与 MVI:Android 应用的对比

Redux 与 MVI&#xff1a;Android 应用的对比 在为 Android 应用选择合适的状态管理架构时可能会感到困惑。在这个领域中&#xff0c;有两种流行的选择是 Redux 和 MVI&#xff08;Model-View-Intent&#xff09;。两者都有各自的优缺点&#xff0c;因此在深入研究之前了解它们…...

《MySQL是怎样运行的》读书笔记(三) B+树索引

前言 从前面数据存储结构中我们已经知道了页和记录的关系示意图: 其中页a、页b、页c ... 页n 这些页可以不在物理结构上相连&#xff0c;只要通过双向链表相关联即可。 在正式介绍索引之前&#xff0c;我们需要了解一下没有索引的时候是怎么查找记录的。下边先只讨论搜索条件…...

微信小程序基础工作模板

1.轮播图 点击跳转官方文档 简单例子 <!-- 顶部轮播图 --> <swiper indicator-dots"true" class"banner" autoplay"true" interval"2000"><swiper-item><image src"../../images/轮播图1.jpg" >…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...