Alibaba Cloud Linux上安装MySQL

一、查看Linux版本

shell 复制代码
cat /etc/os-release
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"

二、查看是否安装mysql

shell 复制代码
sudo systemctl status mysqld
Unit mysqld.service could not be found.(表示未安装)

三、依次执行下面命令

shell 复制代码
# 安装一个兼容库(Alibaba Cloud Linux 3需要)
sudo yum install -y compat-openssl10

# 添加MySQL官方软件源
sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm

# 安装MySQL服务
sudo dnf install -y mysql-server

# 启动MySQL服务并设为开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld

安装完成后检查一下服务状态

shell 复制代码
sudo systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.servi>
   Active: active (running) since Tue 2026-05-26 21:42:>
     Docs: man:mysqld(8)

四、安装后配置:

1、获取临时密码:首次启动会自动生成一个临时密码,用它才能登录。
shell 复制代码
grep 'temporary password' /var/log/mysqld.log
2026-05-26T13:42:13.633579Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wdjkgdqj-2yX

最后的字符串就是临时密码 。

2、进行安全配置:运行安全脚本可以设置新密码、移除匿名用户等,让数据库更安全。
shell 复制代码
mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: 

输入刚刚的临时密码,后面会有如下步骤

  • 设置新的root密码(要求至少8位,包含大写、小写、数字和特殊字符)
  • 是否移除匿名用户?建议输入 y。
  • 是否禁止root用户远程登录?建议输入 y。
  • 是否移除测试数据库?建议输入 y。
  • 是否重新加载权限表?建议输入 y。
3、最后需要在阿里云安全组里面开放端口,否则无法远程访问

附:

1、 修改默认端口3306

shell 复制代码
vim /etc/my.cnf

在 [mysqld] 部分下添加

shell 复制代码
[client]
port = 3307

[mysqld]
port = 3307

然后重启服务

shell 复制代码
sudo systemctl restart mysqld
没有任何输出表示成功

如果报错请到vim /var/log/mysqld.log查看原因,比如下面就是报错了。

shell 复制代码
sudo systemctl restart mysqld;
Job for mysqld.service failed because the control process exited with error code.

2、让mysql可以远程访问

如果Navicat连接时报错:not allowed to connect to this mysql

则需要配置远程用户,先在shell里登陆mysql,输入密码后登陆

shell 复制代码
mysql -u root -p
Enter password: 

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.4.9     |
+-----------+


mysql> SELECT user, host FROM mysql.user WHERE user = 'root';
+------+-----------+
| user | host      |
+------+-----------+
| root | localhost |
+------+-----------+
#  上面输出说明只有localhost权限,没有 %(任意IP)的用户
创建用户
shell 复制代码
-- 创建允许从任意IP连接的用户
mysql>CREATE USER 'root'@'%' IDENTIFIED BY 'Qf2026@#';
Query OK, 0 rows affected (0.02 sec)

-- 授予所有权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

-- 刷新权限
mysql>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

现在就可以使用navicat远程连接了

相关推荐
nice_lcj5201 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
say_fall1 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy2 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘2 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
xixingzhe23 小时前
mysql全量、增量备份
数据库·mysql
无奈笑天下11 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla14 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
隔窗听雨眠15 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__15 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
坤坤子吖18 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习