阿里云服务器上安装 MySQL 并创建数据库全流程(图文详解 新手1小时可完成配置)

简介: 本文详细介绍如何在阿里云服务器上部署MySQL数据库,涵盖安装、安全配置、创建数据库与用户、开启远程访问及安全组设置等步骤,助你快速搭建稳定、安全的数据库环境,适合独立开发者与项目部署新手。

一、引言

在独立开发、部署后端服务,甚至是学习阶段,很多开发者都会遇到这样一个问题:如何在自己的服务器上部署数据库?

相比使用云数据库,自己在服务器上安装和配置 MySQL 不仅更具性价比,还能让你深入理解数据库的运行机制与安全策略。

本篇文章将带你一步步完成从安装 MySQL到创建数据库并开放远程访问的完整流程,环境以阿里云服务器为例,涵盖实际操作截图与命令,帮助你顺利完成数据库部署,无论你是初学者还是正准备搭建自己的项目环境,都能快速上手。


二、准备工作

一台已开通的阿里云服务器(ECS)

本教程以阿里云服务器为例进行演示,系统环境建议使用常见的 Linux 发行版,如 CentOS 7+ 或 Ubuntu 20+。后续的命令行操作将在该服务器中完成。


✅ 拥有服务器的管理员权限(root 或 sudo)

你需要有权限执行系统级操作,比如安装软件包、配置防火墙等。如果你是通过阿里云创建的 ECS 实例,默认情况下是 root 权限。


✅ 可连接服务器的方式(SSH 工具或控制台终端)

推荐使用 Termius、Xshell 或 macOS/Linux 的内置终端;

如果你不方便使用本地工具,也可以直接登录阿里云后台,使用 “远程连接” 功能打开 Web 控制台。

📌 小提示:

如果你是第一次使用阿里云,建议先熟悉一下控制台中 “实例管理” 和 “安全组” 的配置项,后续步骤会涉及。


三、安装与配置 MySQL

登录到阿里云服务器控制台

确认服务器准备就绪后,我们就可以开始安装 MySQL 数据库了。下面将以常见的 Linux 发行版为例,演示如何快速安装并完成基本配置,为后续使用打下基础。


第一步:在阿里云服务器上安装 MySQL

MySQL 在 Linux 下可以通过官方提供的 YUM 仓库进行安装。以下步骤以 CentOS 7 系统为例,其他发行版请参考对应的安装方式。


✅ 1.1 下载并安装 MySQL YUM 源

首先,下载并安装官方提供的 YUM 配置包:

wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm

这一步会将 MySQL 的官方软件源添加到你的系统中,供后续安装使用。



✅ 1.2 安装 MySQL 服务端

执行以下命令开始安装:

sudo yum install mysql-server

安装过程中可能会要求你确认依赖项,直接输入 y 并回车即可。


⚠️ 常见问题:GPG check FAILED

有时候你可能会遇到如下报错:

Error: GPG check FAILED

这是因为系统在安装时会校验软件包签名,但部分公钥可能未导入或版本不一致。


✅ 解决方法如下:

1)手动导入 MySQL 的 GPG 公钥

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

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

如果命令执行成功,说明密钥已导入。


2)清除 YUM 缓存并重新建立缓存:

sudo yum clean all

sudo yum makecache


3)重新尝试安装 MySQL:

sudo yum install mysql-community-server

如仍出现问题,可以暂时关闭 GPG 校验(仅建议在信任源时使用):

sudo yum install mysql-community-server --nogpgcheck

✅ 1.3 启动并设置开机启动 MySQL

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

sudo systemctl start mysqld

sudo systemctl enable mysqld


✅ 1.4 获取 MySQL 默认 root 密码(非常重要!)

MySQL 安装后,会为 root@localhost 用户生成一个临时密码,必须先登录使用该密码:

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

你会看到一串密码形如:

A temporary password is generated for root@localhost: Abc123$xyz

请妥善保存这个密码,后续登录时需要使用。


第二步:初始化 MySQL 安全配置

安装完 MySQL 并获取到默认 root 密码后,接下来需要进行一次安全初始化配置,主要是为了提升数据库的安全性。

MySQL 官方提供了一个交互式命令行工具 mysql_secure_installation,用于快速完成这些配置。

✅ 运行初始化工具

sudo mysql_secure_installation


✅ 配置步骤说明:

该命令会启动一个配置向导,你只需根据提示操作即可,流程如下:

输入当前的 root 默认密码

刚才我们通过日志查看到的那个临时密码,在这里粘贴输入。

设置新的 root 密码

按提示输入一个新密码,建议符合 MySQL 8 的复杂度要求,例如 Abcd1234!。

后续选项建议全部选择 Y(yes):

删除匿名用户?→ Y

禁止远程 root 登录?→ Y

删除 test 数据库和对它的访问权限?→ Y

重新加载权限表?→ Y

这些选项可以有效提升你的数据库安全性,尤其是在公网环境下。



第三步:登录 MySQL 并创建数据库

完成安全初始化后,我们就可以登录 MySQL,创建属于我们项目的数据库和用户账户。


✅ 1. 使用 root 用户登录 MySQL

mysql -u root -p

输入你刚才设置的新密码后,就会进入 MySQL 的交互式命令行环境(mysql shell)。


✅ 2. 创建数据库

这里我们以一个名为 drama_db 的数据库为例,使用推荐的编码格式 utf8mb4:

CREATE DATABASE drama_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

这能保证我们后续使用时支持 Emoji、中文等多语言字符。


✅ 3. 创建数据库用户并授权

出于安全考虑,建议创建一个独立的数据库用户进行项目访问:

CREATE USER 'drama_user'@'localhost' IDENTIFIED BY 'YourPassword123!';

GRANT ALL PRIVILEGES ON drama_db.* TO 'drama_user'@'localhost';

FLUSH PRIVILEGES;

此用户只能在本地访问数据库,适合部署在同一台服务器上的后端程序(如 Java、Node.js 等)。


🌐 4. 如果你希望远程连接数据库,请使用以下授权方式:

GRANT ALL PRIVILEGES ON drama_db.* TO 'drama_user'@'%' IDENTIFIED BY 'YourPassword123!';

FLUSH PRIVILEGES;

其中 % 表示允许任意 IP 远程访问该数据库(可替换为特定 IP 更安全)。


🛠 5. 修改 MySQL 配置文件,允许远程连接

编辑 MySQL 配置文件:

sudo vi /etc/my.cnf

找到 [mysqld] 部分,确认或添加以下配置(如果已有 bind-address,需注释掉或改成 0.0.0.0):

bind-address = 0.0.0.0

保存后,重启 MySQL 服务使配置生效:

sudo systemctl restart mysqld

到这一步,数据库已可使用本地或远程连接工具(如 Navicat、DataGrip)进行访问,后续就可以接入项目业务或测试用数据了。


第四步:开放阿里云安全组端口(默认 3306)

即使你已经配置好了 MySQL 的远程访问权限,如果阿里云服务器的安全组未放行 3306 端口,外部设备仍然无法连接数据库。因此,我们还需要登录阿里云控制台,手动放行 MySQL 所用的端口。


✅ 1. 登录阿里云后台配置安全组

打开阿里云控制台;

找到你购买的 ECS 实例;

在左侧导航栏中选择【网络与安全】→【安全组】;

点击对应安全组右侧的【配置规则】。


✅ 2. 添加一条入方向规则

端口范围: 3306/3306

协议类型: TCP

授权对象(源 IP):

0.0.0.0/0 表示全部 IP 可访问(不推荐用于正式环境);

推荐设置为你当前公网 IP /32,例如:123.45.67.89/32,只允许你自己访问。


✅ 小建议:开发调试阶段可以先设为 0.0.0.0/0,上线后及时收紧为指定 IP,提升安全性。



✅ 3. 检查 MySQL 服务是否正常运行

查看服务状态:

sudo systemctl status mysqld

显示 active (running) 即为正常运行。



✅ 4. 登录验证并检查数据库是否存在

mysql -u root -p

登录后执行以下命令:

SHOW DATABASES;

你应该能看到刚刚创建的 drama_db 数据库,说明配置已生效。



结语

通过本文的四个步骤,我们成功在阿里云服务器上完成了 MySQL 的安装、配置、安全初始化,以及数据库和用户的创建,最终实现了远程访问能力。这一过程不仅适用于本地测试环境,也为部署正式后端系统打下了坚实的基础。


💡小贴士:


若在连接过程中遇到问题,优先排查:MySQL 服务是否启动、防火墙是否阻止、用户权限和安全组是否正确配置;

不建议长期开放 3306 端口给全网(0.0.0.0/0),请及时改为固定 IP;

数据库初步搭建完成后,可进一步配置自动备份、连接池优化等高级特性。

相关文章
|
弹性计算 NoSQL Linux
在Alibaba Cloud Linux系统上安装Redis数据库流程
在Alibaba Cloud Linux系统上安装Redis数据库流程,阿里云持久内存服务器ECS可用于搭建Redis内存型数据库,云服务器吧以阿里云服务器ECS持久内存型、Alibaba Cloud Linux镜像操作系统安装Redis 6.0.5或Redis 3.2.12详细操作流程如下:
958 0
|
22天前
|
安全 Linux 网络安全
阿里云轻量应用服务器实操指南:购买、连接、管理全流程干货
本文详解阿里云轻量应用服务器购买、远程连接、密码管理、快照与自定义镜像等核心操作,涵盖配置选择、地域备案要求、Linux/Windows连接方式、密钥安全登录、数据备份恢复及环境复制迁移,助力用户高效部署与管理服务器,规避常见风险。
|
3月前
|
弹性计算 安全 网络协议
如何设置阿里云的安全组规则?
阿里云安全组是保障云服务器安全的虚拟防火墙,通过灵活配置入出规则,实现精细化流量控制。遵循最小权限、IP限制等最佳实践,可有效防范未授权访问。
|
网络协议 关系型数据库 MySQL
如何使用宝塔面板搭建MySQL数据库并实现无公网IP远程访问
如何使用宝塔面板搭建MySQL数据库并实现无公网IP远程访问
1903 3
|
关系型数据库 MySQL 数据安全/隐私保护
允许远程链接mysql,开放3306端口
允许远程链接mysql,开放3306端口
允许远程链接mysql,开放3306端口
|
5月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
负载均衡 Linux 应用服务中间件
Linux系统中前后端分离项目部署指南
Linux系统中前后端分离项目部署指南
815 8
|
弹性计算 NoSQL 安全
如何在阿里云服务器上安装Redis数据库
如何在阿里云服务器上安装Redis数据库
10944 2
|
11月前
|
存储 安全 网络安全
阿里云国际站:阿里云服务器端口配置
悟空云@CloudWuKong阿里云是全球领先的云计算服务提供商,为用户提供弹性计算、数据库、存储、网络安全等一系列云计算服务。在使用阿里云服务器时,合理配置端口非常重要,可以提高服务器安全性和稳定性。
|
缓存 Java Maven
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法!在处理Maven项目问题时,首先检查Maven配置是否正确。接着通过“File--Invalidata Caches”清除IDEA缓存并重启。使用Maven命令`mvn dependency:purge-local-repository`和`mvn dependency:resolve`清除本地依赖缓存。最后,在Terminal中输入`mvn clean install`完成构建。
3917 1
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法