在后台运行 MySQL 命令 - nohup

在后台运行 MySQL 命令 - nohup

我需要在后台模式下运行一些 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 &

相关内容