2009-10-02 4 views
1

Может ли кто-нибудь связать меня с учебником или объяснить, есть ли способ создать какой-то пакетный файл сценариев mysql/хранимых procs и запустить их все одновременно? Кажется, я не могу найти какую-либо документацию в этом онлайн-чате, но я чувствую, что могу искать неправильные условия.Запустить Mysql скрипты в пакете?

ответ

6

Вы можете просто создать текстовый файл с операторами SQL, разделенными; а затем выполнить все операторы с клиента командной строки MySQL:

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

Command Line: 
mysql < my_textfile.sql 
4

Вы можете MySQL скрипты цепи, вызывая их из сценария с помощью команды источника (details of command line options)

# 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 и различные варианты сохранения вашей учетной записи/пароля там (и обеспечения этого файла).

+0

Просто хотел заметить, что я украл немного кода образца у Томаса, если это не очевидно. –

0

Для выглядывает работает MAMP PRO на OS X Yosemite, я был в состоянии получить все мои * .sql скрипты выполняются (импорт), запустив из терминала:

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

myDBRestore.sql содержал ссылку на все БД MySQL скрипты, как таким образом:

\. /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 файл в каталоге.

Смежные вопросы