连接本地网络上的MySQL数据库

7

我曾以为我能做到,直到我尝试了才发现。我在本地网络IP地址(192.168.1.4)上安装了MySQL服务器,现在我正在尝试从同一网络中的另一台PC(192.168.1.5)访问它,但我无法连接:

C:\Users\DOMICO>mysql -u domico -h 192.168.1.4 -p
Enter password: **********
ERROR 1045 (28000): Access denied for user 'domico'@'DOMICO-PC' (using password:
 YES)

令人惊讶的是,DOMICO-PC是我正在尝试连接的计算机。为什么它没有连接到给定的主机,而是尝试连接到本地计算机?


可能是在局域网中连接到另一台PC上的MySQL服务器的重复问题。 - ImtiazeA
5个回答

9

您需要授予远程主机连接权限。

mysql> GRANT ALL PRIVILEGES ON database.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;


1
我遇到了这个错误,ERROR 2003 (HY000):无法连接到位于“192.168.1.16”的MySQL服务器(111)。 - A. Khaled

1

0

这是按照您的要求连接到所需的主机。它只是说明谁在连接,以及从哪里连接。

USER@DOMAIN

user:运行mysql命令的用户 domain:您正在连接的系统的名称。

通过使用-u root登录到服务器上的mysql,确保已创建用户“domico”并具有足够的访问权限。


创建用户时,我授予用户“domico”对“domico.*”的所有访问权限,他们还需要什么其他访问权限呢? - Stanley Mungai
请展示一下您在数据库中为“domico”设置的授权。您确定您输入的密码也是正确的吗? - Ashley Jordan
问题在于,您可能已经在@localhost上授予了所有权限(这意味着您只能从本地计算机访问数据库)。在授予权限时,您需要指定正确的主机(计算机)- @'DOMICO-PC',就像我在上面的答案中写的那样。 - Tom

0

适用于所有用户和主机。

mysql -u root -p

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

FLUSH PRIVILEGES;

QUIT;

0

通过mysql服务器创建新用户并授予权限,可以通过命令或使用任何服务器(例如使用workbench)来完成。


1
这对于一个已经有被接受的答案的两年老问题来说是必要的吗? - Stanley Mungai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接