системная команда mysql - PullRequest
       14

системная команда mysql

2 голосов
/ 17 сентября 2011

Я нахожусь в MySQL и хотел бы изменить текущий рабочий каталог.Я пытался выполнить:

mysql> system cd './my_dir'

Однако, похоже, это не работает.Кто-нибудь сталкивался с подобной проблемой?

Ответы [ 3 ]

5 голосов
/ 17 сентября 2011

Система будет порождать дочерний процесс для запуска команды оболочки .....

Текущий рабочий каталог является свойством уровня процесса .... поэтому его нельзя изменить в родительскомдочерний процесс.Вот почему это не работает.

Я кратко просканировал документы MySQL на http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html, но не увидел прямой CD-команды, которая изменяет рабочий каталог.Я думаю, что предприимчивый человек мог бы написать один ....

2 голосов
/ 16 октября 2013

Если вы хотите изменить текущий рабочий каталог для сценария, то используйте символ && между компакт-диском и сценарием, чтобы он сменил каталог, а затем в случае успеха выполнит вторую команду.

mysql> SYSTEM cd /home && ls
0 голосов
/ 09 июня 2012

Что вам нужно, так это команда escape to shell: \!

mysql>\! cd ./my_dir

Вы можете даже использовать ее, чтобы полностью перейти в оболочку и затем вернуться в среду mysql.

mysql>\! bash
bash>cd ./my_dir
bash>exit
mysql>SELECT * ALL FROM <table>;
...