我在 MySQL 中,想更改当前的工作目录。我试图执行:
mysql> system cd './my_dir'
但是,这似乎不起作用。有没有人遇到过类似的问题?
系统将产生一个子进程来运行一个shell命令......
当前工作目录是一个进程级别的属性......所以你不能在父进程中从子进程中更改它。这就是为什么它不起作用。
我在http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html简要扫描了 MySQL 文档,但没有看到更改工作目录的直接 CD 命令。我认为一个有冒险精神的人可以写一个......
如果要更改脚本的当前工作目录,请在 CD 和脚本之间使用 &&,以便更改目录,然后如果成功,它将执行第二个命令。
mysql> SYSTEM cd /home && ls
您正在寻找的是转义到 shell 命令:\!
mysql>\! cd ./my_dir
你甚至可以用它完全逃到shell,然后回到mysql环境。
mysql>\! bash
bash>cd ./my_dir
bash>exit
mysql>SELECT * ALL FROM <table>;