我想执行一个 mysql 脚本,要求用户从命令行动态输入密码,如果可能的话,使用 message Enter your $root password
。但是它没有按预期工作。到目前为止我有
mysql -u root -p CREATE DATABASE IF NOT EXISTS Test
此外,当创建数据库时,如何从 mysql 注销并返回 bash 命令?
我想执行一个 mysql 脚本,要求用户从命令行动态输入密码,如果可能的话,使用 message Enter your $root password
。但是它没有按预期工作。到目前为止我有
mysql -u root -p CREATE DATABASE IF NOT EXISTS Test
此外,当创建数据库时,如何从 mysql 注销并返回 bash 命令?
根据文档
提示输入密码,执行给定的命令,然后返回到 shell(不需要注销)。
如果您想要自己的提示,则需要编写脚本:
请注意,和之间不能有空格
-p
,$pwd
因为mysql
then 被认为$pwd
是数据库的名称。我不建议这样做,因为密码在终端中以明文形式显示,而
mysql -p
显示星号。可以通过多种方式编写 MySQL 查询脚本。PerlDuck 的回答已经涉及
-e
or--execute
参数。另一种方法是使用source
MySQL 本身的命令来运行 SQL 脚本:另一种方法是将脚本重定向到
mysql
'sstdin
:请注意每种情况下的格式差异。当然,您也可以使用here-doc 或 herestring来获得相同的结果,尽管使用文本文件允许执行冗长的查询,而 here-docs 和 here-strings 对于适度短的语句更有用。