【发布时间】:2024-01-06 18:00:01
【问题描述】:
我可以使用另一台计算机连接到 localhost 和 phpmyadmin,但我想知道是否可以使用另一台计算机在 cmd 中执行类似“mysql -u root -p”之类的操作,以从另一台计算机访问数据库。我正在使用 wamp 服务器 2.5
【问题讨论】:
我可以使用另一台计算机连接到 localhost 和 phpmyadmin,但我想知道是否可以使用另一台计算机在 cmd 中执行类似“mysql -u root -p”之类的操作,以从另一台计算机访问数据库。我正在使用 wamp 服务器 2.5
【问题讨论】:
是的,您可以访问。
你必须发表评论
bind-address = 127.0.0.1
在 my.conf 文件中。
然后重启 MySQL。
登录使用
mysql -h<your-system-ip> -uroot -p
【讨论】:
是的。
但您必须使用允许从另一个 ip/域连接的 MySQL 用户帐户来执行此操作。
一个 MySQL 用户帐户由两部分组成,如果您在连接时看到任何错误,您可能已经看到类似 'root'@'localhost' 的内容,它们是两部分。
第一部分'root' 是用户ID,第二部分'localhost' 是'root' 连接的IP/域。您必须创建一个帐户(最好不要让root 在任何地方使用!!!!!) 允许从您的其他 IP 地址连接,或者您可以使用 % 来连接注明from anywhere
从 MySQL Manual 中无耻地撕下
这是一个很好的起点
shell> mysql --user=root mysql
如果您已为 root 帐户分配密码,您还必须提供 --password 或 -p 选项。
以 root 身份连接到服务器后,您可以添加新帐户。以下示例使用 CREATE USER 和 GRANT 语句来设置四个帐户:
设置影子只允许从本地访问
mysql> CREATE USER 'shadow'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
设置影子仅允许来自特定 IP 地址的访问
mysql> CREATE USER 'shadow'@'192.168.1.100' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
设置影子允许从任何地方访问
mysql> CREATE USER 'shadow'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
这些语句创建的帐户具有以下属性:
两个帐户的用户名是 monty,密码是 some_pass。两者都是具有完全权限的超级用户帐户,可以执行任何操作。 'shadow'@'localhost' 帐户只能在从本地主机连接时使用。 'shadow'@'%' 帐户使用 '%' 通配符作为主机部分,因此可用于从任何主机进行连接。
'shadow'@'localhost' 帐户如果有 localhost 的匿名用户帐户是必需的。如果没有 'shadow'@'localhost' 帐户,当 monty 从本地主机连接并且 monty 被视为匿名用户时,该匿名用户帐户优先。这样做的原因是匿名用户帐户具有比 'shadow'@'%' 帐户更具体的主机列值,因此在用户表排序顺序中更早。 (用户表排序在第 6.2.4 节“访问控制,第 1 阶段:连接验证”中讨论。)
出于显而易见的原因,您可能需要考虑不授予超级用户访问可以从运行 MYSQL 的 PC 以外的计算机连接的帐户的权限。
【讨论】: