簡體   English   中英

批量運行Mysql腳本?

[英]Run Mysql scripts in a batch?

有人可以將我鏈接到教程或解釋是否可以創建某種類型的mysql腳本/存儲的proc批處理文件並同時運行它們嗎? 我似乎在此網上找不到任何文檔,但我覺得我可能使用錯誤的術語進行搜索。

您可以簡單地用SQL語句創建一個文本文件,並用;分隔; 然后使用MySQL命令行客戶端執行所有語句:

# my_textfile.sql
# ---------------
USE my_database;
SELECT * FROM table1;
UPDATE table2 SET foo='bar';

Command Line:
mysql < my_textfile.sql

您可以通過使用source命令從腳本中調用mysql腳本來鏈接mysql腳本( 命令行選項的詳細信息

# my_textfile.sql
# ---------------
USE my_database;
\. subscript1.sql
\. subdir/subscript2.sql
\. /full/path/to/subscript3.sql

Command Line:
mysql < my_textfile.sql

不要忘記命令行選項,如果要編寫文件腳本,可能需要密碼/用戶帳戶。

mysql -uyouraccount -pyourpassword YourDatabase < mytextfile.sql

這不是最安全的方法,因為它會將您的用戶名/密碼放在命令行中,但是可以使用。 如果您要編寫大量腳本,建議您查看.my.cnf以及用於在其中保存帳戶/密碼(並保護該文件)的各種選項。

對於在OS X Yosemite上運行MAMP PRO的人,我能夠通過從終端運行來執行(導入)所有* .sql腳本:

/Applications/MAMP/Library/bin/mysql -h localhost -u root -p < /Applications/MAMP/myDBRestore.sql

myDBRestore.sql包含對所有MySQL DB腳本的引用,因此:

\. /full/path/to/sql/file1.sql
\. /full/path/to/sql/file2.sql
\. /full/path/to/sql/file3.sql
...
\. /full/path/to/sql/file(n).sql

其中n是目錄中的最后一個.sql文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM