我需要在后台模式下运行一些 mysql 查询...但是我怎样才能做到这一点nohup
?
标准做法是:
mysql -uroot -p
use SomeDb;
Select * from blablalba;
但是,如何通过启动数据库进程来做到这一点?我使用 nohup 进行 mysql 导入,但是如何使用查询?
答案1
mysql -u [username] -p [database_name] -e "[sql_query]"
例子:
nohup mysql -u root -p somedb -e "select * from mytable" &
答案2
谢谢,这很有帮助,但是,我需要在命令后输入密码,因此我执行以下操作:
$ nohup mysql -u [username] -p [database_name] -e "[sql_query]" Enter password:
由于我无法在后台成功运行该命令,在提示符下输入密码后,我关闭了连接(通过关闭远程控制台)。我打开了一个新会话并运行它。这是一个 3 小时的查询,无线连接不稳定,所以这非常有用。
答案3
nohup mysql -u [username] -p[password] [database_name] -e "[sql_query]" &
确保密码后面-p
没有空格
答案4
由于某种原因,我在使用上述解决方案时遇到了一些超时问题,但使用该-c
选项似乎可以解决问题(请注意,这还包括设置密码并将标准输出和错误重定向到某个路径):
nohup bash -c "mysql -u my_user --password='my_password' -e \"use SomeDb; Select * from blablalba;\"" > my_file_path 2>&1 &