【问题标题】:Execute script on remote mysql db?在远程 mysql 数据库上执行脚本?
【发布时间】:2015-07-15 11:18:40
【问题描述】:

我正在使用下面的脚本来更新安装在我本地机器上的 mysql db 中的表。

update.sql

use test;
update test.stockcurrent set units='0' where units<'0';

update.bat

@ECHO OFF
SET MYSQL_EXE="C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe"
SET DB_USER=root
SET DB_PWD=password

CALL %MYSQL_EXE% --user=%DB_USER% --password=%DB_PWD% < update.sql
IF %ERRORLEVEL% NEQ 0 ECHO Error executing SQL file

以上代码运行良好如果mysql在我的机器上本地运行

但现在我需要连接到远程运行的 mysql,并且我需要从本地机器执行脚本。我该怎么做?

【问题讨论】:

    标签: mysql sql batch-file database-administration


    【解决方案1】:

    按以下方式更改您的脚本,需要在您的脚本中添加 -h。

    @ECHO OFF
    SET MYSQL_EXE="C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe"
    SET DB_USER=root
    SET DB_PWD=password
    
    CALL %MYSQL_EXE% -h <your_server_ip> --user=%DB_USER% --password=%DB_PWD% < update.sql >> C:\log\error.txt 2>&1
    IF %ERRORLEVEL% NEQ 0 ECHO Error executing SQL file
    

    注意:用户应该在本地机器上拥有远程服务器的权限。

    【讨论】:

    • 感谢您的回复。我的本地机器应该有mysql.exe?
    • 是的,mysql.exe 实用程序应该在您的机器中,位于您在脚本中提到的路径处。
    • 即使您可以将此实用程序保留在任何路径并在脚本中更改该路径。
    • 但是我不应该在我的本地机器上安装任何 mysql 的东西。如何在不本地安装 mydql 实用程序的情况下连接到远程 mysql 并运行命令?
    • 只需从安装了 mysql 的任何其他机器复制 mysql.exe 并复制到您在脚本中提到的路径。它会起作用的。没有此客户端,您将无法连接远程服务器。
    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    相关资源
    最近更新 更多