Ответ 1
mysql -u <user> -p -e "select * from schema.table"
Я ищу, чтобы иметь возможность запускать один запрос на удаленном сервере в скриптовой задаче.
Например, интуитивно, я бы предположил, что это будет выглядеть примерно так:
mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
mysql -u <user> -p -e "select * from schema.table"
mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"
Из распечатки использования:
-e
,--execute=name
Выполнить команду и выйти. (Отключает--force
и файл истории)
здесь, как вы можете сделать это с помощью трюка с оболочкой:
mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'
'< < <' инструктирует оболочку брать все, что следует за ней, как stdin, похожее на трубопровод из эха.
используйте флаг -t, чтобы включить вывод табличного формата
Если это запрос, который вы часто выполняете, вы можете сохранить его в файле. Затем в любой момент, когда вы захотите запустить его:
mysql < thefile
(со всеми флагами входа и базы данных, конечно)
echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production