【问题标题】:Making a Database Remote [closed]制作数据库远程[关闭]
【发布时间】:2020-05-19 22:47:14
【问题描述】:

我已经下载了 MySQL 社区服务器,我需要将我的数据库远程化,以便它在我教授的计算机上运行,​​但我不知道该怎么做。由于我在 PC 上使用数据库的经验为零,请不要犹豫,给我太多细节。

注意:到目前为止,我在互联网上找到的内容对我不起作用。例如有人建议写这个

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

在 cmd 上,但我收到 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“IDENTIFIED BY 'admin'”附近使用正确的语法

【问题讨论】:

  • 你为什么不问问你的教授?
  • 我会很有用知道你的数据库在哪里(你是想在服务器上运行它并从教授的 PC 远程连接到那里,还是在教授的 PC 上本地运行它),什么您正在安装的操作系统以及您使用的 MySQL 版本。
  • 在我教授的 PC、Windows (10) 和 MySQL 8.0 上本地运行它。感谢您尝试帮助@PhilYoung
  • 你如何连接到你的教授电脑?
  • 我将DB文件上传到互联网,教授下载并通过脚本进行测试。 @MaxMuster

标签: mysql sql database rdbms


【解决方案1】:

完整的安装说明(包括设置服务器、创建用户和首次启动服务器)可以在https://dev.mysql.com/doc/refman/8.0/en/windows-installation.html找到

查看此处的新细节,您正在尝试用 1 条语句做 2 件事。如果你真的想允许从任何地方进行 root 访问(这会带来安全隐患,我通常建议 root 使用仅限于 localhost),你可以使用类似 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 的东西并更改你会使用的密码喜欢ALTER USER 'root'@'%' IDENTIFIED BY 'password';

【讨论】:

  • 所以我尝试使用GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 但这次得到ERROR 1410 (42000): You are not allowed to create a user with GRANT
  • 默认情况下 root 只能从 localhost 访问,看起来您错过了为 % 创建另一个用户(从任何地方访问)。我建议将该用户命名为 root 以外的其他名称,尝试CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';(替换用户名和密码)然后GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
  • 我会马上尝试,但我想先确认一下。我会将我的数据库文件上传到教授下载的互联网,然后通过脚本对其进行测试。为了实现这一点,我必须授予用户(在本例中是我要创建的用户)从任何地方访问的权限,对吗?
  • 您需要从脚本运行的地方授予访问权限,因此如果脚本在他们的 PC 上本地运行,他们只需要从 localhost 访问,您可以将其限制为 IP 或 IP 范围或 @ 987654332@如果你不知道(最安全到最不安全)
  • 默认情况下,他们是否能够从localhost访问?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
  • 2017-06-09
  • 2018-05-18
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多