如果我的盒子ip是10.10.10.10,是否可以像
那样执行一些sql sueryselect * from some_table
远程机器10.10.10.20上的,无需从终端登录该机器 如果没有,何时可能
答案 0 :(得分:1)
是的,可以使用MySQL客户端。您可以使用以下语法:
mysql -u <username> -p -h remote.host database -e 'show databases;'
或在脚本文件中使用pass:
mysql -u <username> -p -h remote.host database < script.sql
答案 1 :(得分:1)
是的,有可能。您还没有告诉我们您的设置是什么。如果您已经 使用编程语言,请参阅@ Jaco的答案。如果您使用的是编程语言,则在连接字符串中,将localhost
(或10.10.10.10
)替换为10.10.10.20
。
答案 2 :(得分:0)
如果10.10.10.10
上的mysql启用了网络(默认情况下它只启用本地通信,你应该启用在配置中监听0.0.0.0)并且防火墙上的端口3306是打开的,你可以。
添加一个允许从10.10.10.20远程连接到mysql的用户(即用户名@&#39; 10.10.10.20&#39;或用户名@&#39;%&#39;),然后只是做
mysql -u username -p -h 10.10.10.10 your_database_name
答案 3 :(得分:0)
首先,您需要通过提供服务器位置/ URL,数据库名称,用户名和密码来连接远程数据库,无论它位于何处(即使对于本地数据库)(在某些情况下,您需要提供)端口名称也)。根据您使用的语言,您需要用于创建连接的确切编码略有不同。与您建立了正常的数据库连接后,您可以执行登录用户允许的任何SQL查询。
如果要从远程位置进行连接,则DB用户应具有远程连接权限。 (&#34;%&#34;用于允许来自任何位置)。
CREATE USER 'newuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'%';
如果您想从终端连接;
shell> mysql -h 10.10.10.10 -u newuser -pmypass mydb