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

目录

[1. 下载并安装 MySQL 官方 Yum Repository](#1. 下载并安装 MySQL 官方 Yum Repository)

[2. 启动 MySQL 并查看运行状态](#2. 启动 MySQL 并查看运行状态)

[3. 找到 root 用户的初始密码](#3. 找到 root 用户的初始密码)

[4. 修改 root 用户密码](#4. 修改 root 用户密码)

[5. 设置允许远程登录](#5. 设置允许远程登录)

[6. 在云服务器配置 MySQL 端口](#6. 在云服务器配置 MySQL 端口)

[7. 关闭防火墙](#7. 关闭防火墙)

[8. 解决密码错误的问题](#8. 解决密码错误的问题)


前言

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

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

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

bash 复制代码
# 下载 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 服务,并确认它正在运行。

bash 复制代码
# 启动 MySQL 服务
systemctl start mysqld.service

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

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

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

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

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

4. 修改 root 用户密码

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

bash 复制代码
# 登录 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 服务并进行管理。确保密码策略符合要求,并根据需要调整防火墙设置以便远程访问。

相关推荐
kfepiza6 分钟前
Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件,如何配置route路由
linux·网络·tcp/ip·ubuntu·debian·ip·tcp
Esun_R13 分钟前
使用防火墙与 fail2ban 防止公网服务器被攻击
linux
崖山数据库系统YashanDB15 分钟前
YashanDB json语法
数据库
陈三一18 分钟前
关于多数据源下Spring声明式事务管理失效问题的分析与解决
数据库·spring
我有医保我先冲1 小时前
SQL复杂查询与性能优化全攻略
数据库·sql·性能优化
榆榆欸1 小时前
4.Socket类、InetAddr类、Epoll类实现模块化
linux·c++·tcp/ip
烧瓶里的西瓜皮1 小时前
Go语言从零构建SQL数据库引擎(2)
数据库·sql·golang
SelectDB1 小时前
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
大数据·数据库·数据分析
爱的叹息1 小时前
华为高斯(GaussDB) 集中式数据库 的开发技术手册,涵盖核心功能、开发流程、优化技巧及常见问题解决方案
数据库·gaussdb
背太阳的牧羊人1 小时前
使用 PyMuPDF(fitz)库打开 PDF 文件,并且是从内存中的字节流(BytesIO)读取 PDF 内容
数据库·pdf·文件处理·pymupdf·fitz