powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql.exe лог в файл
25 сообщений из 37, страница 1 из 2
mysql.exe лог в файл
    #39069230
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, прошу помощи. Есть команда "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" -h[server] -u[user] -p[password] test < 11.sql. Как мне вывести результат этой команды не на консоль, а в файл лога?
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069267
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключ -tee.
Или соотв. строка в ini-файле.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069271
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
mysql.exe -uroot dbname < dump.sql > out.txt 2>&1
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069281
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал оба этих варианта. А где и что в ини править?
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069288
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurПробовал оба этих варианта.И чем они не устроили?
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069294
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, всего-навсего тем, что не работают. Файлы не создаются. А так все в порядке :-)
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069302
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Gurmiksoft, всего-навсего тем, что не работают. Файлы не создаются. А так все в порядке :-)Тогда причина какая-то внешняя, например, прав на запись в файловой системе не хватает. Или файл создается не там, где вы его ищете.
Какие-нибудь сообщения об ошибке выдаются? Вывод на консоль происходит?
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069305
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, не знаю, какая может быть внешняя причина. Перед этим запускается mysqldump и прекрасно лог создает. А mysql - только на консоль
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069318
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Gur,

приведите пожалуйста сообщение, которое mysql выдает на консоль, а вы хотите передать его в файл.
Сейчас может быть такая ситуация, что вам на консоль вообще никаких сообщений не выдается, а вы думаете, что там какие-то ошибки и поэтому хотите получить файл.
А на самом деле молчаливая работа mysql.exe это его стандартная форма поведения и если вам на консоль ничего не выдает, то и файл создавать не будет.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069330
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix, без проблем. Я ввел в команду несуществующий sql-файл. На консоль прекрасно выдалось "The system cannot find the file specified". Лог-файл не создался
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069336
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Gur,

Покажите полностью команду. Если в ней есть что-то секретное, то замените такие символы звездочками.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069347
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe" -h*** -u*** -p*** --lock-tables=false stalker itv radio tv_genre --result-file="1.sql" --log-error=1.log
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" -h*** -u*** -p*** test < 11.sql > d:\temp\111\out.txt 2>&1

Это содержимое моего CMD-файла. Все, что после <11.sql варьировалось всеми возможными способами. Выходной файл не создается, сообщение об ошибке выводится на консоль
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069358
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurLumix, без проблем. Я ввел в команду несуществующий sql-файл. На консоль прекрасно выдалось "The system cannot find the file specified". Лог-файл не создался

огосподи...)))))

Если вы такой "извращенец", тогда создайте файл out.bat
Пропишите в него вашу команду
И запустите вот так

Код: sql
1.
out.bat > out.txt 2>&1



и получите лог, который хотите
потому что сообщение об ошибке, которую вы хотите поймать выдает не mysql.exe, а системный шелл cmd.exe
до запуска mysql.exe дело не доходит вообще
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069371
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix, во-первых, я не собираюсь оставлять этот cmd. Я его сделал сейчас для теста. Мне надо, чтобы они запускались по отдельности с возможностью анализировать ошибку. Во-вторых, если в моем варианте поставить существующий файл, но испортить, например, пароль, то выдается ошибка MySQL "access denied for user", это уже не ошибка системы. Но все равно вывод идет только на консоль. Поэтому просьба воздержаться с определениями типа "извращенец" и сосредоточиться на проблеме - конечно, если у вас есть что сказать по теме
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069386
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Gurконечно, если у вас есть что сказать по теме
Да всё он по делу сказал. Есть два разных процесса (cmd.exe и mysql.exe), и вывод каждого из них надо получать в файл своими методами. То, что внешне они валят свои сообщения на одну и ту же консоль, ничего не меняет. Даже для каждого отдельного процесса, и то нужны дополнительные телодвижения, чтобы собрать в один файл сообщения, выводящиеся в разные (stdout и stderr) потоки.
Будете обдумывать ответы - авось доберётесь до решения. Будете возмущаться - скорее всего, решение помашет хвостиком...

S_Gurя не собираюсь оставлять этот cmd. Я его сделал сейчас для теста.
А на продакшене оно чем будет вызываться и откуда?
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069392
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, спасибо, я знаю основы функционирования операционных систем. Мне нужно выводить в файл именно сообщения MySQL. C CMD я как-нибудь разберусь.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069400
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, я планировал, что оно будет вызываться из программы на дельфях. Стоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. После чего так же проверяется лог и определяется, выполнилась ли операция
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069410
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurВо-вторых, если в моем варианте поставить существующий файл, но испортить, например, пароль, то выдается ошибка MySQL "access denied for user", это уже не ошибка системы. Но все равно вывод идет только на консоль.

только что я выполнил такую команду

Код: sql
1.
mysql.exe -uroot -p124324234324 dbname < text.sql > out.txt 2>&1



и у меня отлично создался файл out.txt в котором содержится строка
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

тот же самый результат я получаю если "завертываю" эту команду в out.bat

S_GurПоэтому просьба воздержаться с определениями типа "извращенец" и сосредоточиться на проблеме - конечно, если у вас есть что сказать по теме

Извращенец - это человек, который что-то извращает.
Ваши извращения пагубны не сами по себе, а они лишают меня возможности помочь вам решить задачу.
Вот я бы и хотел вам предложить какое-то решение, но я реально опасаюсь, что получив от меня следующий ответ, вы опять что-то извратите и мой ответ опять попадет мимо.
Мои ответы летят мимо не потому что я "стреляю" мимо, а потому что вы передаете ошибочные "координаты цели" и по вашей вине я "стреляю" вслепую.

Поэтому я желаю вам удачи разобраться с вашей задачей.
Я из этой темы ухожу.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069412
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так тебе показаны два варианта. Именно MySQL.
Первый - перенаправлением stdout и stderr.
Второй - штатным дублированием консольного вывода в файл.

S_Gurесли в моем варианте поставить существующий файл, но испортить, например, пароль, то выдается ошибка MySQL "access denied for user", это уже не ошибка системы.
В обоих вариантах сообщение падает в файл. Но в разной форме.
В первом случае туда попадёт
Код: sql
1.
2.
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


А во втором только:
Код: sql
1.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)



S_GurЯ ввел в команду несуществующий sql-файл. На консоль прекрасно выдалось "The system cannot find the file specified".
А вот это уже сообщение от CMD.EXE. И я не понял, чего ты возмущался, если намерен "с CMD как-нибудь разобраться" самостоятельно...
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069417
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за помощь. Путем перенаправления вывода проблема решена - логи стали создаваться. Странно, что MySQL не может создавать файлы без плясок с бубнами, но теперь худо-бедно я могу контролировать процесс
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069419
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurСтоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. После чего так же проверяется лог и определяется, выполнилась ли операция
Ну точно, извращенец - вместо штатных средств изобретать велосипед. Пусть с квадратными колёсами, зато свой...
Закрой свои Дельфи и почитай мануал, главным образом раздел, рассказывающий про репликацию.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069422
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, я возмущался только определениями типа "извращенец". От CMD в этой конструкции зависит только проверка наличия файла - с этим я могу справиться и до запуска mysql.exe. Все остальные возможные ошибки должен возвращать уже mysql. Возможно, я неправильно сделал тестовый пример, но в других случаях сообщения от сервака тоже не выдавались и файлы не создавались вообще
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069426
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaS_GurСтоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. После чего так же проверяется лог и определяется, выполнилась ли операция
Ну точно, извращенец - вместо штатных средств изобретать велосипед. Пусть с квадратными колёсами, зато свой...
Закрой свои Дельфи и почитай мануал, главным образом раздел, рассказывающий про репликацию.

Спасибо за мудрые советы. Если бы было возможно настроить репликацию - я бы ничего не изобретал. Здесь не технические проблемы - скорее, политические.
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069443
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, есть какие-нибудь идеи насчет того, почему не работает ключик -tee?
...
Рейтинг: 0 / 0
mysql.exe лог в файл
    #39069445
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurЕсли бы было возможно настроить репликацию - я бы ничего не изобретал. Здесь не технические проблемы - скорее, политические.
А нам не видно... Просто логирование в файл - это ненадёжно. Для тестов ещё подойдёт, но на боевой системе...
S_GurСтоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой.
SELECT INTO OUTFILE + LOAD DATA INFILE может оказаться быстрее, чем mysqldump.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql.exe лог в файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]