AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1004596
Accepted
mr.zog
mr.zog
Asked: 2020-02-26 17:25:18 +0800 CST2020-02-26 17:25:18 +0800 CST 2020-02-26 17:25:18 +0800 CST

如何在 MySQL 8 中授予或更改现有用户以允许远程身份验证?

  • 772

最终目标是让最新的 Zabbix 版本在容器中运行,监控一堆交换机。

Zabbix 想要一些 MySQL(或 postgres),所以我想我会设置使用官方(Oracle)MySQL 8.0.19 MySQL FOSS 映像。我有一个正在运行的 MySQL 容器,但我不小心将我的 zabbix db 用户设置为只有本地连接权限。

mysql> SELECT user,host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
| zabbix           | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

我似乎无法更改此用户,以便它可以从组中的其他容器 zabbix-server-mysql 和 zabbix-web-apache-mysql 连接。
也许有某种方法可以启动一个新容器,以便用户 zabbix 可以通过网络使用数据库“zabbix”。
而且我对 docker 的了解还不够,不知道我是否真的需要让容器通过网络相互通信,或者是否有一些神奇的 docker 功能,它们可以在没有 IP 网络的情况下进行通信。

请指教。

docker mysql8 zabbix
  • 1 1 个回答
  • 297 Views

1 个回答

  • Voted
  1. Best Answer
    Justa Guy
    2020-02-26T21:03:07+08:002020-02-26T21:03:07+08:00

    最简单的方法是使用 RENAME USER 语句:

    RENAME USER 'zabbix'@'localhost' TO 'zabbix'@'%';

    顶部的 root % 也不好。这意味着 root 可以从网络上的任何地方远程访问数据库。您通常只想将其限制为 localhost 所以删除该用户,您应该会很好。(你需要确保你有办法通过本地机器进入 docker 容器,这样你就可以在本地访问 MySQL,否则当你删除这个用户时你可能会失去访问权限)

    DROP USER 'root'@'%';

    检查您的授权以确保用户 zabbix@% 有权访问数据库“zabbix”:

    SHOW GRANTS FOR 'zabbix'@'%';

    这将使您的 MySQL 用户正确配置。您只需要弄清楚如何配置您的 docker 容器以正确地相互通信。我不确定他们是否可以在没有专门授予他们网络访问权限的情况下进行通信。

    https://dev.mysql.com/doc/refman/8.0/en/rename-user.html
    https://dev.mysql.com/doc/refman/8.0/en/drop-user.html
    https:// dev.mysql.com/doc/refman/8.0/en/create-user.html
    https://dev.mysql.com/doc/refman/8.0/en/alter-user.html
    https://dev.mysql。 com/doc/refman/8.0/en/show-grants.html

    • 1

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve