【问题标题】:How to make mySQL database at my local accessible from different machines?如何使我本地的 mySQL 数据库可以从不同的机器访问?
【发布时间】:2012-12-04 10:59:41
【问题描述】:

我在使用 mySQL 查询浏览器连接的 Windows 系统上安装了 mySQL。我正在提供培训,我希望人们能够连接到我的机器 SQL 数据库

我该怎么做?目前它不允许连接。

我需要修改哪些设置?

【问题讨论】:

  • 您的初学者问题:您没有说机器上是否配置了任何防火墙(应该有),也没有说操作系统/防火墙是什么跨度>
  • 你用的是windows还是linux?
  • 我的机器上没有配置防火墙。

标签: mysql windows mysqlconnection


【解决方案1】:

第 1 步:检查 IP 连接

默认情况下,它只允许来自 127.0.0.1 的连接。 你用的是windows还是linux?

打开 my.cnf 并将绑定地址更改为您的网络 IP。

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 127.0.0.1

更多信息可以在谷歌中轻松找到。检查this。

第 2 步:检查您的防火墙

另外,正如 @Leandro 所评论的,检查您的 Windows 防火墙设置以允许连接发生。

测试它的一种简单方法是从客户端计算机远程登录到您的 MySQL 网络 ip、端口 3306 并查看是否连接或被阻止。

第 3 步:检查 mysql 用户权限

一旦你有 IP 连接,你的校友正在使用的用户应该有任何主机的登录权限。例如,如果他们使用 root,您必须运行这样的查询:

update user set host=’%’ where user=’root’ and host=’ubuntuserv’;

您可以查看更多信息here。

【讨论】:

  • 一定要检查你的防火墙。它可能会阻塞必要的端口。
  • 将绑定地址更改为网络 IP 将阻止环回地址上的连接。将其设置为 0.0.0.0 意味着它将接受来自任何地址的连接(这是一个非常糟糕的主意,除非您有防火墙来限制可以连接的主机/网络)。
  • 我没有绑定地址参数。我正在使用Windows机器。什么是主机 - 'ubunutuserv'
  • 你的 my.cnf 上应该有一个 bind-address 参数。你用的是哪个版本的mysql? ubuntuserv 是表用户中的主机名。不确定你的内容,所以做一个 Select * From User 来检查它。这个想法是用 % 替换主机的内容
  • 我在 Windows 中安装了带有 xampp 包的 mysql。我在 my.cnf 中没有看到绑定地址
【解决方案2】:

请他们使用 phpMyAdmin 通过您的 IP 地址访问您的数据库。还要让您的 Apache 服务器联机。

【讨论】:

  • OP想连接数据库,而不是看花哨的phpmyadmin。
猜你喜欢
  • 2023-03-09
  • 1970-01-01
  • 2020-03-16
  • 2013-02-25
  • 2013-09-27
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 2014-12-09
相关资源
最近更新 更多