Какая ошибка вы получаете?
Я не уверен, как работает INTO OUTFILE, но на 99% ему нужен доступ на запись к файлу, который вы говорите, чтобы писать. В вашем запросе выходной файл находится в корневом (/) разделе. Я сомневаюсь, что пользователь mysql запускается из позволяет писать там. Если вы находитесь в поле * nix, создайте файл в своем доме
touch /home/ubuntu/mysqlchanges.txt
sudo chown mysql:mysql /home/ubuntu/mysqlchanges.txt
в вашей оболочке сначала. Тогда для проверки вы можете сделать
su mysql
echo "" > /home/ubuntu/mysqlchanges.txt
и если это работает без ошибок, вы можете изменить ваш запрос для вывода на этот файл и собачонку, чтобы получить этот файл как вложение:
mysql --user=me --password=00045344534 john_e56
SELECT table_schema,table_name,update_time
FROM information_schema.tables
WHERE update_time > (NOW() - INTERVAL 5 MINUTE);
INTO OUTFILE '/home/ubuntu/mysqlchanges.txt'
exit
mutt -s "mysql changes" [email protected] -a /home/ubuntu/mysqlchanges.txt < /mail.txt
Предполагая, что ubuntu
является ваш пользователь и mysql работает от имени пользователя mysql
.
UPDATE
Если я понял ваш запрос правильно, вам просто нужно получить на выходе этого SQL запроса:
SELECT table_schema,table_name,update_time
FROM information_schema.tables
WHERE update_time > (NOW() - INTERVAL 5 MINUTE);
на ваш почтовый ящик [email protected]
Если это не так важно сделайте это как прикрепление и просто текст в теле в порядке, затем посмотрите на эту команду bash:
mysql -u me -p00045344534 -e 'SELECT table_schema,table_name,update_time FROM information_schema.tables WHERE update_time > (NOW() - INTERVAL 5 MINUTE);' | mutt -s "mysql changes" [email protected] --
первым он запускает этот запрос с выходом на STDOUT
, затем трубы к mutt
ли вы положили все эти команды в один скрипт? Вы должны переместить часть из «SELECT» в «exit» в отдельный текстовый файл и запустить mysql следующим образом: mysql --user = me --password = 00045344534 john_e56 <отдельный файл.txt – pelya
Я пробовал отдельный файл, но ERROR 1064 (42000) в строке 4: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «INTO OUTFILE» /home/john/mysqlchanges.txt « exit» в строке 1 – John
Удалите ';' в конце WHERE, он завершает вашу Команда SQL и 'INTO OUTFILE' становятся отдельной недопустимой командой – pelya