连接到局域网中另一台PC上的mysql服务器

rev*_*ver 7 mysql

我在本地网络上的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)
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢你的帮助.无论如何,我没有3306连接,我有另一个问题.MACBOOK是我的客户端计算机的名称.

mysql -u user -ppassword -h 192.168.1.28 
ERROR 1045 (28000): Access denied for user 'user'@'MACBOOK' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

谢谢.

小智 14

这是一个非常有用的问题!由于我们需要使用集中式数据库运行应用程序,因此我们应该授予LAN中该计算机的权限,以访问LAN PC中托管的特定数据库.这是解决方案!

  1. 转到MySQL服务器
  2. 键入以下代码以授予其他PC的访问权限

mysql>授予所有权限.由'root_password'标识的'root'@'%'; mysql> flush特权;

将'%'替换为您要授予访问权限的IP!

  • 它允许"超级用户"从宇宙中的任何IP使用,这是非常危险的.最好创建一个只能访问相关数据库的新用户帐户,并且只需要最低限度的特权来执行远程访问所需的操作. (6认同)

Imt*_*zeA 11

可以MySQL WorkbenchMySQL Server机器上安装的用户

如果您在 MySQL 服务器 PC 上使用或拥有 MySQL Workbench,只需单击几下即可完成此操作。仅推荐用于开发环境

  1. 连接到 MySQL 服务器

使用 MySQL Workbench 连接到 MySQL 服务器

  1. Users and Privileges从中找到此选项Navigator并单击它。

用户和权限 - MySQL Workbench

  1. 选择root用户和变化值Limit to Hosts Matching%

用户和权限 - MySQL Workbench

  1. Apply底部的点击。

这应该允许 root 用户从远程机器访问 MySQL 服务器。


Rol*_*DBA 5

由于您在本地计算机上安装了mysql,因此无需使用本机的IP地址.只需使用localhost:

mysql -u user -p
Run Code Online (Sandbox Code Playgroud)

要么

mysql -hlocalhost -u user -p
Run Code Online (Sandbox Code Playgroud)

如果您无法使用此方法登录,则必须找到MySQL服务器中存在的用户名(user @ host).这是你做的:

步骤01)启动mysql,以便没有密码不需要密码并拒绝TCP/IP连接

service mysql restart --skip-grant-tables --skip-networking
Run Code Online (Sandbox Code Playgroud)

请记住,禁用了用于添加用户,授予和撤消权限的标准SQL.

步骤02)显示用户和主机

select concat(''',user,'''@''',host,'''') userhost,password from mysql.user;
Run Code Online (Sandbox Code Playgroud)

步骤03)检查您的密码以确保其有效

select user,host from mysql.user where password=password('YourMySQLPassword');
Run Code Online (Sandbox Code Playgroud)

如果您的密码没有为此查询生成输出,则密码错误.

如果您的密码生成此查询的输出,请查看用户和主机.如果您的主机值为'%',您应该可以从任何地方进行连接.如果您的主机是"localhost",您应该能够在本地连接.

让用户定义'root'@'localhost'.

完成所需操作后,只需正常重启mysql即可

service mysql restart
Run Code Online (Sandbox Code Playgroud)

如果您能够在macbook上成功连接,请运行以下查询:

SELECT USER(),CURRENT_USER();
Run Code Online (Sandbox Code Playgroud)

USER()报告您尝试在MySQL中进行身份验证的方式

CURRENT_USER()报告如何允许您在MySQL中进行身份验证

让我们知道会发生什么!

更新2012-02-13 20:47美国东部时间

登录远程服务器并重复步骤1-3

查看是否有任何用户允许远程访问(即mysql.user中的主机是'%').如果不这样做,那么将'user'@'%'添加到mysql.user.

  • 我在localhost中有mysql,但我想在另一台PC上连接到mysql. (3认同)

Roh*_*bhu 4

按照简单的清单:

  1. 尝试ping机器 ping 192.168.1.2
  2. 确保MySQL在指定的端口上运行,3306即它尚未被修改.
  3. 确保其他PC未阻止该端口上的入站连接.如果是,请添加防火墙例外以允许端口上的连接3306并允许一般的入站连接.
  4. 如果您可以发布在尝试建立连接时显示的确切错误,那将是很好的.