阿里云Ubuntu安装MySQL教程:新手也能一步步搞定

如果你刚买了一台云服务器,准备部署网站、博客、小程序接口,或者只是想搭一个自己的测试环境,那么数据库几乎是绕不开的一环。在众多数据库中,MySQL因为成熟稳定、资料丰富、生态完善,成为很多新手的首选。而对于使用云服务器的朋友来说,“阿里云ubuntu 安装mysql”也是一个非常高频的实际需求。

阿里云Ubuntu安装MySQL教程:新手也能一步步搞定

很多人第一次接触云服务器时,常常会被几个问题难住:服务器能连上,但不知道怎么安装软件;MySQL装好了却无法登录;远程连接时报错;安全组、端口、防火墙、root权限这些概念混在一起,让人越看越乱。其实只要把流程拆开,你会发现整个过程并不复杂。本文就用一篇完整教程,带你在阿里云Ubuntu环境中,从准备工作、安装MySQL、初始化配置,到远程连接、常见报错排查,一步一步把事情做对。

一、为什么很多人会选择在阿里云Ubuntu上安装MySQL

在开始实操之前,先说说为什么这个组合很常见。阿里云服务器在国内使用方便,控制台功能直观,公网访问和安全组配置也相对成熟。Ubuntu则是非常流行的Linux发行版,文档齐全、社区活跃、软件源稳定,对新手友好。MySQL作为关系型数据库的代表,无论是搭建WordPress、Laravel、Django项目,还是开发电商、内容管理、管理后台,都非常常见。

也就是说,阿里云ubuntu 安装mysql并不是一个孤立操作,而是很多线上环境部署的起点。你把这一步学会了,后续安装Nginx、PHP、Java环境、Node.js服务时,思路也会清晰很多。

二、安装前先做好这几项准备

在正式安装之前,建议先确认以下几点,这会让后面的步骤顺利很多。

  • 你已经购买并开通了一台阿里云ECS服务器。
  • 系统为Ubuntu,常见如Ubuntu 20.04、22.04。
  • 你能通过SSH连接服务器。
  • 你拥有sudo权限,或者直接使用root账号操作。
  • 你知道服务器的公网IP,用于后续远程测试。

如果你是Windows用户,可以使用Xshell、FinalShell、PuTTY,或者Windows自带终端连接服务器;如果你使用Mac,直接打开终端通过SSH连接即可。

连接命令通常如下:

ssh 用户名@你的服务器公网IP

比如:

ssh root@123.123.123.123

登录之后,建议先更新软件包索引,确保安装源信息是最新的:

sudo apt update

如果你希望系统包也顺便升级,可以继续执行:

sudo apt upgrade -y

这一步虽然看起来普通,但很有必要。很多人在阿里云Ubuntu安装MySQL时遇到依赖问题、包版本冲突,往往就是因为系统软件源缓存过旧。

三、在Ubuntu上安装MySQL的标准方法

Ubuntu官方软件源里通常已经包含MySQL服务端,因此最适合新手的方式,就是直接通过apt安装。命令如下:

sudo apt install mysql-server -y

执行后,系统会自动下载并安装MySQL相关组件。安装完成后,可以查看MySQL服务状态:

sudo systemctl status mysql

如果看到状态为active (running),说明MySQL已经正常启动。

你也可以使用以下命令确认:

sudo systemctl is-active mysql

如果返回active,代表服务没问题。

为了保证服务器重启后MySQL仍会自动运行,可以检查开机自启状态:

sudo systemctl enable mysql

大多数情况下安装时已经默认启用,但手动执行一次更稳妥。

四、安装完成后,先做安全初始化

MySQL装完并不意味着就能直接放心使用。数据库默认设置往往偏向“先能跑起来”,而不是“默认最安全”。因此,安装后建议立刻执行初始化安全脚本:

sudo mysql_secure_installation

这个脚本会引导你完成几个关键设置,例如:

  • 是否启用密码强度校验组件
  • 是否设置root密码
  • 是否移除匿名用户
  • 是否禁止root远程登录
  • 是否删除测试数据库
  • 是否重新加载权限表

对于新手来说,建议大多数选项选择Y。尤其是匿名用户和测试数据库,删除后更安全。至于是否允许root远程登录,则需要结合你的使用场景来决定。一般线上环境不建议直接开放root远程连接,而是创建独立业务账号。

这里顺便解释一个常见误区:很多人在做阿里云ubuntu 安装mysql时,总想着“一步到位,直接让root能远程连接”。从安全角度讲,这其实并不是最佳实践。更合理的方法是本地使用root做管理,在需要远程访问时创建权限受控的新用户。

五、登录MySQL并检查版本

安装完成后,可以先进入MySQL命令行确认环境是否正常。Ubuntu中MySQL常使用auth_socket方式让系统root用户直接登录,因此你可以执行:

sudo mysql

进入后,命令提示符会变成:

mysql>

此时可以查看版本:

SELECT VERSION();

如果正常返回版本号,说明数据库服务已经可用。

退出命令行使用:

exit;

如果你想使用密码方式登录,而不是每次都依赖sudo,也可以后续修改root的认证方式,或者新建一个普通管理账号,这部分我们下面会讲到。

六、创建数据库与用户:比直接使用root更专业

很多新手图省事,部署项目时习惯直接把root账号写进配置文件。短期看似方便,长期却有明显风险。一旦程序存在漏洞、账号泄露,攻击者拿到的就是最高权限。更好的方法,是为每个项目创建单独数据库和单独用户。

先进入MySQL:

sudo mysql

创建数据库:

CREATE DATABASE myapp DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

这里推荐使用utf8mb4字符集,因为它对中文、表情符号、多语言内容支持更完整。很多人在项目上线后遇到“表情保存失败”“特殊字符乱码”等问题,根源就是早期字符集没设置好。

接着创建用户:

CREATE USER ‘myuser’@’localhost’ IDENTIFIED BY ‘你的强密码’;

为用户授权:

GRANT ALL PRIVILEGES ON myapp.* TO ‘myuser’@’localhost’;

刷新权限:

FLUSH PRIVILEGES;

这样,一个独立项目数据库就建立完成了。以后你的程序连接数据库时,优先使用这个账号,而不是root。

七、如果需要远程连接MySQL,该怎么设置

这是很多人在阿里云环境下最容易踩坑的地方。你以为MySQL安装成功了,但Navicat、DBeaver、DataGrip或者本地程序就是连不上。原因通常并不是一个,而是至少涉及三层:MySQL监听地址MySQL用户权限阿里云安全组

先说第一层,MySQL默认通常只监听本机,也就是127.0.0.1。这意味着只有服务器自己可以连接,外部机器即使知道账号密码也连不上。

你可以编辑MySQL配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到这一行:

bind-address = 127.0.0.1

如果你需要允许远程访问,可以改为:

bind-address = 0.0.0.0

保存后重启MySQL:

sudo systemctl restart mysql

第二层是用户权限。即使监听地址放开了,如果账号只允许localhost登录,远程依然失败。因此你需要创建一个允许外部连接的账号,例如:

CREATE USER ‘remoteuser’@’%’ IDENTIFIED BY ‘你的强密码’;

GRANT ALL PRIVILEGES ON myapp.* TO ‘remoteuser’@’%’;

FLUSH PRIVILEGES;

其中%代表允许任意来源连接。为了更安全,你也可以指定某个固定IP,例如:

CREATE USER ‘remoteuser’@’你的本地公网IP’ IDENTIFIED BY ‘你的强密码’;

第三层是阿里云安全组。即使MySQL本身配置正确,如果安全组没放行3306端口,外部依然无法访问。你需要进入阿里云控制台,找到对应ECS实例的安全组规则,手动添加入方向规则,开放3306端口。

这里提醒一句:开放3306不等于完全对公网裸奔。更推荐的做法是,只对自己的办公IP或者固定公网IP开放,而不是0.0.0.0/0全网开放。如果只是自己本地偶尔管理数据库,限制来源IP会安全很多。

八、一个真实风格案例:为什么我明明装好了MySQL却还是连接失败

下面用一个典型案例,帮助你更直观地理解整个排查逻辑。

假设小王刚买了一台阿里云服务器,系统是Ubuntu 22.04。他按照网上教程完成了MySQL安装,本地用Navicat想连接服务器数据库,结果一直提示连接超时。他最开始怀疑是密码输错,但反复检查后发现不是。

后来他依次排查:

  1. 在服务器上执行sudo systemctl status mysql,发现MySQL服务正常运行。
  2. 检查配置文件,发现bind-address仍是127.0.0.1,说明只允许本机访问。
  3. 修改为0.0.0.0并重启服务后,问题仍未解决。
  4. 继续进入阿里云控制台查看安全组,发现根本没有开放3306端口。
  5. 开放端口后再次连接,依然报权限错误。
  6. 最后检查MySQL账号,才发现用户是‘myuser’@’localhost’,并不具备远程登录权限。

直到他重新创建了‘myuser’@’%’账号,并授予数据库权限,本地连接才彻底成功。

这个案例说明,阿里云ubuntu 安装mysql不只是执行一个安装命令那么简单,真正让数据库“可用”,往往还包括服务状态、监听地址、用户授权、安全组规则这些环节。只要你理解这一点,后续碰到类似问题时就不会乱。

九、常见报错与解决思路

实际安装和使用过程中,新手最常碰到的不是不会装,而是装完之后不知道问题出在哪。下面整理几个高频情况。

1. sudo mysql能进,但mysql -u root -p进不去

这通常是因为Ubuntu上的MySQL默认使用了auth_socket认证方式,系统root可以直接通过sudo登录,但并没有给root设置传统密码登录方式。

解决思路有两个:

  • 继续使用sudo mysql进行管理,这是最简单的。
  • 修改root认证方式,改成密码登录。

如果要改,可进入MySQL后执行类似操作:

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的强密码’;

FLUSH PRIVILEGES;

之后再尝试:

mysql -u root -p

不过从安全和使用习惯来看,更推荐新建管理员账号,而不是长期直接用root暴露密码登录。

2. 远程连接提示Connection timed out

这通常优先检查网络层问题:

  • 阿里云安全组是否开放3306
  • Ubuntu防火墙是否放行3306
  • MySQL是否监听0.0.0.0

如果你的服务器启用了UFW防火墙,可以执行:

sudo ufw status

若需要放行3306:

sudo ufw allow 3306

当然,前提仍然是你确实有远程访问需求。

3. 提示Access denied for user

这类报错多数和账号授权有关。要检查:

  • 用户名是否正确
  • 密码是否正确
  • 账号的host是否允许当前来源IP
  • 该账号是否拥有目标数据库权限

很多时候不是密码错,而是用户创建成了‘user’@’localhost’,导致外部连接时被拒绝。

4. 中文乱码或插入表情失败

这通常是字符集问题。建议数据库、数据表、连接字符集都尽量统一使用utf8mb4。如果项目已经上线,再来补字符集,代价会比较大,所以最好在初次建库时就设置正确。

十、安装完成后,建议顺手做的优化

MySQL能运行只是第一步。如果你希望服务器长期稳定,下面几项也值得做。

  • 定期备份数据库。哪怕只是个人项目,也建议养成备份习惯。
  • 避免开放root远程登录。项目使用独立账号,按需授权。
  • 限制3306访问来源。优先按IP开放,而不是全网开放。
  • 使用复杂密码。不要用简单数字、生日、弱口令。
  • 关注磁盘空间。日志、数据文件增长过快会影响服务。
  • 了解基础日志位置。出问题时能更快定位。

对于小型博客或企业展示站而言,上述优化已经足够覆盖大部分实际使用场景。对于业务量更高的系统,后续还会涉及慢查询、连接数、缓存、主从复制、自动化备份等内容,但那是下一阶段的事。新手当前最重要的是先把安装和基础配置真正吃透。

十一、给新手的实用建议:不要只会复制命令

互联网上关于阿里云ubuntu 安装mysql的教程很多,为什么有人一次成功,有人反复失败?关键差别不在于命令本身,而在于是否理解每一步背后的作用。

比如:

  • apt install mysql-server是安装软件本体。
  • systemctl status mysql是检查服务是否运行。
  • mysql_secure_installation是做安全初始化。
  • bind-address决定MySQL监听范围。
  • CREATE USER … @ ‘localhost’CREATE USER … @ ‘%’意义完全不同。
  • 安全组控制的是云平台层面的网络入口。

当你明白这些概念后,即使系统版本略有不同、命令输出有细微差异,你也能自己判断下一步该怎么做,而不是完全依赖某篇教程逐字照搬。

十二、总结:按这个顺序操作,MySQL基本都能顺利装好

最后,我们把本文内容再梳理成一个清晰流程。对于绝大多数新手来说,在阿里云Ubuntu服务器上安装MySQL,推荐按下面顺序进行:

  1. SSH登录阿里云Ubuntu服务器。
  2. 执行sudo apt update更新软件源。
  3. 执行sudo apt install mysql-server -y安装MySQL。
  4. 使用sudo systemctl status mysql确认服务正常运行。
  5. 执行sudo mysql_secure_installation完成安全初始化。
  6. 进入MySQL后创建业务数据库和独立账号。
  7. 如需远程连接,修改监听地址并创建远程授权用户。
  8. 在阿里云安全组中放行3306,并尽量限制访问来源IP。
  9. 测试本地连接是否成功,确认项目配置无误。

只要你按这个逻辑操作,阿里云ubuntu 安装mysql这件事并没有想象中那么难。对新手来说,最可怕的不是命令多,而是没有顺序、没有排查思路。一旦你建立起“安装—验证—加固—授权—联网测试”的流程意识,后面无论是部署网站,还是给应用接数据库,都会轻松很多。

如果你现在正准备搭建自己的第一个线上环境,不妨就从这篇教程开始,照着一步步实践。你会发现,原来看似复杂的云服务器和数据库配置,只要拆开来看,其实每一步都并不难。把MySQL顺利装好,就是你走向真正独立部署项目的重要第一步。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云小编。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/202802.html

(0)
上一篇 3小时前
下一篇 3小时前
联系我们
关注微信
关注微信
分享本页
返回顶部