如何使用 GitHub 操作连接到 MySQL 数据库?

How to connect to MySQL databas using GitHub Actions?

在我的 GitHub 操作中,我使用 Linux 运行ner(Ubuntu 18.04 和 20.04)并且我想使用 MySQL数据库。所以为了进行设置,我 运行 一个像

这样的脚本
sudo apt update
sudo apt install mysql-server

sudo mysql < someInstructions.txt

但是,当我 运行 这个脚本对 GitHub 操作时,我得到以下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

所以我认为 MySQL 服务器在安装后未 运行ning(我已验证)。这很奇怪,因为 Ubuntu 包的文档明确指出服务器在成功安装后应该 运行ning。

无论如何,我随后使用 sudo systemctl start mysql.service 启动了 MySQL 服务器,但现在出现此错误

'Access denied for user 'root'@'localhost' (using password: NO)'

这真的让我感到困惑,因为 sudo mysql 应该以 root 身份连接到数据库。我证实这适用于常规 Ubuntu 安装。

有人知道如何在 GitHub 操作上连接到 MySQL 数据库吗?

混淆的根源在于,当使用 GitHub 动作(或更具体地说:GitHub-hosted 跑步者之一)时,您会得到一个 Linux 图像,其中 MySQL 已经安装在。因此,当执行 sudo apt install mysql-server 时,不会触发实际安装。

因此,通常在安装后发生的默认设置也不适用,因为它永远不会被执行。相反,GitHub 有 pre-configured MySQL 服务器,因此用户 root 有一个明确的密码集(这就是为什么普通 sudo mysql 不起作用的原因) .用户 root 的默认密码是 root.

另请注意,MySQL 服务器在默认情况下处于禁用状态,因此您必须先启动它(如问题中所述)。在它启动并 运行 后,您可以使用

连接到它
sudo mysql --user=root --password=root

参考: