Mat*_*hew 135 mysql sql unix command-line
我希望能够在脚本化任务中的远程服务器上运行单个查询.
例如,直觉上,我会想象它会像:
mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
Run Code Online (Sandbox Code Playgroud)
RC.*_*RC. 220
mysql -u <user> -p -e "select * from schema.table"
Run Code Online (Sandbox Code Playgroud)
Joh*_*ica 22
mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"
Run Code Online (Sandbox Code Playgroud)
从使用情况打印输出:
-e
,--execute=name
执行命令并退出.(禁用--force
和历史文件)
ʞɔı*_*ɔıu 10
这是你如何用一个很酷的shell技巧来做到这一点:
mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'
Run Code Online (Sandbox Code Playgroud)
'<<<'指示shell将其后的任何内容作为stdin,类似于echo的管道.
使用-t标志启用表格式输出
如果它是您经常运行的查询,则可以将其存储在文件中.然后,只要你想运行它:
mysql < thefile
Run Code Online (Sandbox Code Playgroud)
(当然有所有登录和数据库标志)
echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production
Run Code Online (Sandbox Code Playgroud)