我在本地网络上的PC上安装了mySQL,如何连接到它?我也在这台计算机上安装了mySQL(我想用它来连接数据库)。
我尝试了以下但是它无法正常工作
mysql -u user -h 192.168.1.28:3306 -p password
ERROR 2005 (HY000): Unknown MySQL server host '192.168.1.28:3306' (0)
编辑: 谢谢你的帮助。无论如何,我没有3306连接,我有另一个问题。 MACBOOK是我的客户端计算机的名称。
mysql -u user -ppassword -h 192.168.1.28
ERROR 1045 (28000): Access denied for user 'user'@'MACBOOK' (using password: YES)
感谢。
答案 0 :(得分:13)
这是一个非常有用的问题!由于我们需要使用集中式数据库运行应用程序,因此我们应该授予LAN中该计算机的权限,以访问LAN PC中托管的特定数据库。这是解决方案!
mysql>将。的所有权限授予'root'@'%'标识 “超级用户口令”; MySQL的>冲洗权限;
将'%'替换为您要授予其访问权限的IP!
答案 1 :(得分:5)
由于您的本地计算机上有mysql,因此您无需费心使用本机的IP地址。只需使用localhost:
mysql -u user -p
或
mysql -hlocalhost -u user -p
如果您无法使用此功能登录,则必须找出MySQL服务器中存在的用户名(user @ host)。这是你做的:
步骤01)启动mysql,以便没有密码不需要密码并拒绝TCP / IP连接
service mysql restart --skip-grant-tables --skip-networking
请记住,禁用添加用户,授予和撤消权限的标准SQL。
步骤02)显示用户和主持人
select concat(''',user,'''@''',host,'''') userhost,password from mysql.user;
步骤03)检查密码以确保其正常工作
select user,host from mysql.user where password=password('YourMySQLPassword');
如果您的密码没有为此查询生成输出,则密码错误。
如果您的密码为此查询生成输出,请查看用户和主机。如果您的主机值为'%',您应该可以从任何地方进行连接。如果您的主机是“localhost”,您应该能够在本地连接。
让用户定义'root'@'localhost'。
完成所需操作后,只需正常重启mysql
service mysql restart
如果您能够在macbook上成功连接,请运行以下查询:
SELECT USER(),CURRENT_USER();
USER()报告您如何尝试在MySQL中进行身份验证
CURRENT_USER()报告如何允许您在MySQL中进行身份验证
让我们知道会发生什么!!!
更新2012-02-13 20:47美国东部时间
登录远程服务器并重复步骤1-3
查看是否有任何用户允许远程访问(即mysql.user中的主机是'%')。如果不这样做,则将'user'@'%'添加到mysql.user。
答案 2 :(得分:4)
按照简单的清单:
ping 192.168.1.2
3306
上运行,即尚未修改。3306
上的连接,并允许一般的入站连接。答案 3 :(得分:2)
mysql -u user -h 192.168.1.2 -p
这应该足以连接到MySQL服务器。
如果启用了与MySQL服务器的远程连接,请检查192.168.1.2
的防火墙。
此致
答案 4 :(得分:1)
连接到任何mysql数据库应该是这样的:
$mysql -h hostname -Pportnumber -u username -p
(然后输入)
然后它会要求输入密码。注意:端口号应该更接近-P或者它将显示错误。确保你知道你的mysql端口是什么。默认值为3306,在这种情况下指定端口是可选的。如果是其他任何你需要用-P提及端口号,否则它将显示错误。
例如:
$mysql -h 10.20.40.5 -P3306 -u root -p
(然后输入)
Password:My_Db_Password
关于您使用的产品的Gubrish。
mysql>_
注意:如果您尝试在不同位置连接数据库,请确保您可以ping该服务器/计算机。
$ping 10.20.40.5
它应该在你回到PONG的时候返回TTL。 如果它说目标无法访问,那么无论如何都无法连接到远程mysql。
在这种情况下,请与网络管理员联系或检查与计算机的电缆连接,直至目标计算机结束。或者检查您是否有LAN / WAN / MAN或Internet / Intranet / Extranet工作。
答案 5 :(得分:0)
您不必在IP之后指定':3306',它是MySQL的默认端口。
如果您的MySQL服务器使用3306以外的其他端口运行,那么您必须添加'-P [port]'而不是将其添加到IP地址。
MySQL客户端无法识别语法“host:port”,您必须使用-P [port]。
顺便说一句,如果您使用'-p password',它将无效,并会再次询问您密码。您必须将密码粘贴到-p:-ppassword。 (但是,这是一个非常糟糕的习惯,因为任何可以在您的服务器上执行PS的人都可以看到普通密码......)
答案 6 :(得分:0)
实际上你不应该在主机名中指定端口。 Mysql有端口的特殊选项(如果端口与默认端口不同)
有点
mysql --host=192.168.1.2 --port=3306
答案 7 :(得分:0)
你应该用这个:
>mysql -u user -h 192.168.1.2 -P 3306 -ppassword
或者这个:
>mysql -u user -h 192.168.1.2 -ppassword
...因为3306是默认端口号。
答案 8 :(得分:0)
MySQL Workbench
机器上安装MySQL Server
的用户如果您在MySQL Server PC上使用或拥有MySQL Workbench,则只需单击几下即可完成此操作。 仅推荐用于开发环境。
Users and Privileges
中找到此选项Navigator
,然后单击它。root
个用户并将Limit to Hosts Matching
的值更改为%
。Apply
。这应该使root用户可以从远程计算机访问MySQL Server。
答案 9 :(得分:0)
在Ubuntu中,请按照以下步骤操作:
/etc/mysql/mysql.conf.d
上设置绑定地址将bind-address = 127.0.0.1
更改为bind-address = 192.24.805.50 # your IP
授予远程计算机的权限
mysql>在上授予所有特权。以GRANT OPTION选项将'any'密码标识为'root'@'[remoteip]';
然后尝试从远程计算机连接
mysql -u root -h 192.24.805.50 -p