2011-03-23 148 views
1

我想運行一個批處理文件從Windows,它連接到不同的機器上的MySQL服務器,並從數據庫運行一個程序或運行一個SQL文件,坐在我的本地機器。批處理文件連接mysql並運行命令

有沒有辦法做到這一點。我知道我需要在我的批處理文件中運行下面的腳本來運行sql命令,但我相信它只在你運行mysql服務器環境中的批處理文件時才起作用。

我必須定義服務器的信息(如IP地址&端口) 我怎麼做,

任何幫助,將appricated

感謝

的mysql --user = XXX - -password = XXXX --database = XXX < XXX.sql

回答

0

我必須定義服務器的信息(如IP地址&端口),我該怎麼做

您需要設置的端口,如果它不是3306 您需要設置的主機,如果要指定要連接的用戶,當你知道MySQL的用戶有一個名字和主機 - 用戶「user1」 @」 host_name'。

參見手冊 - The MySQL Command-Line Tool

6

如果你的MySQL服務器(mysqld)在同一主機作爲你的MySQL客戶端應用程序(mysql)上運行,你的命令

mysql --user=XXX --password=XXXX --database=XXX < XXX.sql 

作品。

如果你的服務器是另一臺主機上(如你的情況),您必須添加主機名:

mysql --host=IP.ADDR.HERE --port=3306 --user=XXX --password=XXXX --database=XXX < XXX.sql 

XXX.sql文件是在同一臺主機你的MySQL客戶端上。

Offcourse您的服務器必須接受來自其他主機(綁定地址定義的,沒有跳過網絡,並確定正確的用戶@主機權限)連接,以便檢查您的服務器配置。

+0

是否必須指定.sql文件的路徑,sql文件位於批處理文件所在的同一個Windows文件夾中,而服務器位於另一個主機上。 – MRQ 2011-03-23 09:06:36

+0

是的,你必須指定路徑。如果它位於同一個文件夾中,並且從該文件夾調用批處理文件(或者'start in'參數設置正確,默認情況下它是這樣的),它將起作用。如果沒有,您可以添加完整路徑'C:\ Windows \ XXX.SQL'或使用'%WINDIR%\ XXX.SQL'。 – Konerak 2011-03-23 09:10:16

+0

您好Konerak, 這是什麼是在批處理文件 MySQL的主機= XXX.XXX.XXX.XX --port = 3306 --user = XXX --password = XXX --database = XXX MRQ 2011-03-23 09:21:07

0

這樣可以在批處理文件中給出sql語句。

mysql --host=ipaddress --port=3306 -u root -ppassword dbname -e "insert into emp ('id', 'name') values (1, 'hawk')" 
相關問題