Linux系统上安装与配置 MySQL( CentOS 7 )

ops/2025/2/3 8:03:09/

目录

1. 下载并安装 MySQL 官方 Yum Repository

2. 启动 MySQL 并查看运行状态

3. 找到 root 用户的初始密码

4. 修改 root 用户密码

5. 设置允许远程登录

6. 在云服务器配置 MySQL 端口

7. 关闭防火墙

8. 解决密码错误的问题


前言

        在 Linux 服务器上安装并配置 MySQL 是一项常见的任务,特别是当你需要远程管理数据库时。本文将详细介绍如何在 CentOS 7 上安装 MySQL、设置 root 用户密码以及配置允许远程登录。

1. 下载并安装 MySQL 官方 Yum Repository

首先,我们需要下载并安装 MySQL 的 Yum Repository,这样我们才能通过 yum 来安装 MySQL。

# 下载 MySQL 官方 Yum Repository
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm# 安装 MySQL Repository
rpm -ivh mysql-community-release-el7-5.noarch.rpm# 安装 MySQL 服务
yum install mysql-community-server -y

2. 启动 MySQL 并查看运行状态

安装完成后,我们需要启动 MySQL 服务,并确认它正在运行。

# 启动 MySQL 服务
systemctl start mysqld.service# 查看 MySQL 服务的运行状态
systemctl status mysqld.service

3. 找到 root 用户的初始密码

在 MySQL 安装过程中,root 用户的密码默认会被随机生成。如果你不清楚密码,可以通过查看 MySQL 日志文件来获取它。

# 查找 MySQL 初始密码(可能为空)
grep "password" /var/log/mysqld.log

如果没有密码,或者你想为 root 用户设置一个新密码,接下来可以按照以下步骤操作。

4. 修改 root 用户密码

进入 MySQL 数据库后,可以通过以下命令修改 root 用户的密码。

# 登录 MySQL(如果没有密码,直接回车)
mysql -u root -p# 创建一个新的 root 用户并设置密码
create user 'root'@'%' identified by 'qcBY@2021';# 授予 root 用户所有权限
grant all privileges on *.* to 'root'@'%' with grant option;# 刷新权限
flush privileges;

操作如下图: 

注意: MySQL 默认启用了密码策略,要求密码必须由大小写字母、数字和特殊字符组成,且长度至少为 8 位。

5. 设置允许远程登录

在安装并配置完 MySQL 后,如果你想让 MySQL 支持远程登录,需要授予 root 用户远程访问权限。

# 进入 MySQL 数据库
use mysql;# 允许 root 用户从任何主机连接
grant all privileges on *.* to 'root'@'%' identified by 'qcBY@2021' with grant option;# 刷新权限
flush privileges;

6. 在云服务器配置 MySQL 端口

 MySQL 监听远程连接时所使用的端口默认为 3306。

下面以腾讯云为例,通过防火墙规则来开放此端口:

 

 其他云服务器,例如阿里等,也都是类似的操作;

7. 关闭防火墙

如果防火墙阻止了 MySQL 连接,我们需要关闭防火墙或允许相应端口通过。

以下是关闭防火墙的命令:

# 查看防火墙状态
service firewalld status;# 关闭防火墙
systemctl stop firewalld

如果你不想关闭防火墙,也可以仅开放 MySQL 所需的端口:

# 打开 MySQL 默认端口(3306)
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload

8. 解决密码错误的问题

有时候,安装 MySQL 后会遇到如下错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before

这个错误提示表明密码策略要求密码更复杂。你可以通过修改 MySQL 的密码验证策略来解决此问题。

# 修改密码验证策略
mysql> set global validate_password_policy=0;# 设置密码长度为 1(可根据需要修改)
mysql> set global validate_password_length=1;# 然后可以修改密码
mysql> alter user 'root'@'localhost' identified by '123456';

总结

        以上是如何在 Linux系统(CentOS 7) 上安装 MySQL、设置 root 用户密码并配置远程访问权限的完整步骤。通过这些操作,你可以成功启动 MySQL 服务并进行管理。确保密码策略符合要求,并根据需要调整防火墙设置以便远程访问。


http://www.ppmy.cn/ops/155252.html

相关文章

DistilBERT 是 BERT 的精简版本,具有更小、更快、更经济、更轻便的特点。

摘要 随着大规模预训练模型的迁移学习在自然语言处理(NLP)中变得越来越普遍,在边缘设备上或受限的计算训练/推理预算下运行这些大型模型仍然具有挑战性。在本研究中,我们提出了一种预训练较小通用语言表示模型的方法,…

基于微信小程序的电子竞技信息交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Kafka的消息协议

引言 在学习MQTT消息协议的时候我常常思考kafka的消息协议是什么,怎么保证消息的可靠性和高性能传输的,接下来我们一同探究一下 Kafka 在不同的使用场景和组件交互中用到了多种协议,以下为你详细介绍: 内部通信协议 Kafka 使用…

14JavaWeb——SpringBoot原理

SpingBoot原理 在前面十多天的课程当中,我们学习的都是web开发的技术使用,都是面向应用层面的,我们学会了怎么样去用。而我们今天所要学习的是web后端开发的最后一个篇章springboot原理篇,主要偏向于底层原理。 我们今天的课程安…

Three.js实现3D动态心形与粒子背景的数学与代码映射解析

一、效果概述 本文通过Three.js构建了一个具有科技感的3D场景,主要包含两大视觉元素: 动态心形模型:采用数学函数生成基础形状,通过顶点操作实现表面弧度。星空粒子背景:随机分布的粒子群组形成空间层次感。复合动画…

MySQL 基础学习(4):条件查询(WHERE)更新操作(UPDATE)删除操作(DELETE)分页查询(LIMIT)

在本篇文章中,我们将深入探讨 MySQL 的 WHERE 条件查询、更新操作(UPDATE)以及删除操作(DELETE),并通过实例帮助你更好地掌握这些功能。 一、条件查询(WHERE) WHERE 子句用于筛选符…

蓝桥杯模拟算法:蛇形方阵

P5731 【深基5.习6】蛇形方阵 - 洛谷 | 计算机科学教育新生态 我们只要定义两个方向向量数组,这种问题就可以迎刃而解了 比如我们是4的话,我们从左向右开始存,1,2,3,4 到5的时候y就大于4了就是越界了&…

数据挖掘常用算法模型简介

以下是数据挖掘中常用的算法模型及其简称、英文全称和使用场景的简要介绍: 1. 决策树(Decision Tree, DT) 常用算法: CART: Classification and Regression TreeID3: Iterative Dichotomiser 3C4.5: 基于 ID3 改进 使用场景&…