Nohup с командой mysql

Мне нужно запустить в фоновом режиме некоторые MySQL-запрос... Но как я могу сделать это с nohup?

Стандартно я делаю:

musql -uroot -p
use SomeDb;
Select * from blablalba;

Но как я могу сделать это с запуском в базе данных процесса? я делаю MySQL импорт с nohup, но как с запросом?

4 ответа

Решение
mysql -u [username] -p [database_name] -e "[sql_query]"

Пример:

nohup mysql -u root -p somedb -e "select * from mytable" &

Спасибо, это помогло, однако, мне нужно было ввести пароль после команды, поэтому я сделал следующее:

$ nohup mysql -u [username] -p [database_name] -e "[sql_query]"
Enter password:

Поскольку я не мог успешно выполнить команду в фоновом режиме, после ввода пароля в командной строке я закрыл свое соединение (закрыв удаленную консоль). Я открыл новый сеанс, и он побежал. Это был трехчасовой запрос с нестабильным беспроводным соединением, так что это очень удобно.

nohup mysql -u [username] -p[password] [database_name] -e "[sql_query]" &

Убедитесь, что пароль соответствует -p БЕЗ пространства

По какой-то причине у меня были проблемы с тайм-аутом из-за вышеуказанных решений, но я использовал -c опция, казалось, исправила это (обратите внимание, что это также включает в себя установку пароля и перенаправление стандартного вывода и ошибок на определенный путь):

nohup bash -c "mysql -u my_user --password='my_password' -e \"use SomeDb;  Select * from blablalba;\"" > my_file_path 2>&1 &
Другие вопросы по тегам