Docker 容器内部启动的 MySQL 如何远程连接?

随着 Docker 技术的普及,越来越多的前端开发者在使用 Docker 部署应用。在 Docker 容器内启动 MySQL 数据库后,我们如何通过外部工具远程访问 MySQL 数据库呢?本文将详细介绍 Docker 容器内部启动的 MySQL 如何远程连接,并提供示例代码以供学习和参考。

Docker 容器内部启动 MySQL

使用 Docker 容器启动 MySQL 很简单,只需要执行以下命令即可:

------ --- ------ --------- -
        -- ---------------------------- -
        -- -----

请注意,password 是您可以更改为实际密码的占位符。此命令将在容器中运行 MySQL 并将密码设置为“password”。

修改 MySQL 配置

默认情况下,MySQL 服务器只允许本地连接。为了远程访问 MySQL 数据库,我们需要打开 MySQL 的远程访问权限。

为此,我们需要登录到 MySQL 容器中并修改 MySQL 配置文件。首先,查找 MySQL 配置文件 my.cnf 的位置:

------ ---- --- --------- ----
---- - ----- ------

修改该文件以打开远程访问权限。找到 bind-address 行并将其从 127.0.0.1 修改为 0.0.0.0。这个更改允许 MySQL 监听所有网络接口,而不仅仅是本地主机。可以使用下面的命令完成修改:

--- -- -------------------------- ----------------------------------

然后重启 MySQL 服务:

------- ----- -------

现在,MySQL 服务器已经配置为接受来自任何 IP 地址的连接。我们可以通过访问 MySQL 数据库客户端来进行连接。

使用 MySQL 客户端远程连接

为了让我们的应用程序访问 MySQL 服务器,我们需要使用 MySQL 客户端。请确保你的计算机上安装了 MySQL 客户端,然后使用以下命令连接 MySQL 服务器:

----- -- ---- -- -- ------------ -- -------------

其中,<IP_address><port_number> 是 MySQL 容器的 IP 地址和端口号。您可以使用以下命令获取容器 IP 地址:

------ ------- -- -------- ------------------------------------------------- ---------

默认情况下,MySQL 服务器在容器的 3306 端口上运行。如果您已经在容器内部打开了其他端口,则需要使用其他端口号。

接着,您将被要求输入 MySQL 根用户的密码。输入密码后,您将进入 MySQL 客户端。

示例代码

下面是一个示例代码,其中我们使用了 Node.js 应用程序来连接 Docker 容器中运行的 MySQL 服务器。

----- ----- - -----------------

----- ---------- - ------------------------
    ----- ---------------
    ----- -------
    --------- -------------
    --------- -------------
    ----- -------------
---

------------------------ -- -
    -- ----- -
        ------------------ ---------- -- ----- ------- ---------
        -------
    -
    ---------------------- -- ----- ------ -- ------------------------------------------------------
---

-- --- ----------

请根据实际情况替换 <IP_address>, <password>, <database><port_number>

结论

本文详细介绍了在 Docker 容器内启动 MySQL 后如何远程连接 MySQL 数据库。我们首先修改了 MySQL 配置文件以允许远程连接,然后使用 MySQL 客户端连接 MySQL 服务器。最后,我们提供了一个使用 Node.js 应用程序来连接 MySQL 数据库的示例代码,以供学习和参考。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/670789cdd91dce0dc869d655