|
|
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Господа, прошу помощи. Есть команда "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" -h[server] -u[user] -p[password] test < 11.sql. Как мне вывести результат этой команды не на консоль, а в файл лога? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 12:27:14 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Ключ -tee. Или соотв. строка в ini-файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 12:49:32 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 12:51:23 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Пробовал оба этих варианта. А где и что в ини править? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 12:59:19 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_GurПробовал оба этих варианта.И чем они не устроили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:03:59 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
miksoft, всего-навсего тем, что не работают. Файлы не создаются. А так все в порядке :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:06:39 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_Gurmiksoft, всего-навсего тем, что не работают. Файлы не создаются. А так все в порядке :-)Тогда причина какая-то внешняя, например, прав на запись в файловой системе не хватает. Или файл создается не там, где вы его ищете. Какие-нибудь сообщения об ошибке выдаются? Вывод на консоль происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:10:32 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
miksoft, не знаю, какая может быть внешняя причина. Перед этим запускается mysqldump и прекрасно лог создает. А mysql - только на консоль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:12:42 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_Gur, приведите пожалуйста сообщение, которое mysql выдает на консоль, а вы хотите передать его в файл. Сейчас может быть такая ситуация, что вам на консоль вообще никаких сообщений не выдается, а вы думаете, что там какие-то ошибки и поэтому хотите получить файл. А на самом деле молчаливая работа mysql.exe это его стандартная форма поведения и если вам на консоль ничего не выдает, то и файл создавать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:19:21 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Lumix, без проблем. Я ввел в команду несуществующий sql-файл. На консоль прекрасно выдалось "The system cannot find the file specified". Лог-файл не создался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:23:13 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_Gur, Покажите полностью команду. Если в ней есть что-то секретное, то замените такие символы звездочками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:25:18 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
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 варьировалось всеми возможными способами. Выходной файл не создается, сообщение об ошибке выводится на консоль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:30:04 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_GurLumix, без проблем. Я ввел в команду несуществующий sql-файл. На консоль прекрасно выдалось "The system cannot find the file specified". Лог-файл не создался огосподи...))))) Если вы такой "извращенец", тогда создайте файл out.bat Пропишите в него вашу команду И запустите вот так Код: sql 1. и получите лог, который хотите потому что сообщение об ошибке, которую вы хотите поймать выдает не mysql.exe, а системный шелл cmd.exe до запуска mysql.exe дело не доходит вообще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:34:34 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Lumix, во-первых, я не собираюсь оставлять этот cmd. Я его сделал сейчас для теста. Мне надо, чтобы они запускались по отдельности с возможностью анализировать ошибку. Во-вторых, если в моем варианте поставить существующий файл, но испортить, например, пароль, то выдается ошибка MySQL "access denied for user", это уже не ошибка системы. Но все равно вывод идет только на консоль. Поэтому просьба воздержаться с определениями типа "извращенец" и сосредоточиться на проблеме - конечно, если у вас есть что сказать по теме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:42:11 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_Gurконечно, если у вас есть что сказать по теме Да всё он по делу сказал. Есть два разных процесса (cmd.exe и mysql.exe), и вывод каждого из них надо получать в файл своими методами. То, что внешне они валят свои сообщения на одну и ту же консоль, ничего не меняет. Даже для каждого отдельного процесса, и то нужны дополнительные телодвижения, чтобы собрать в один файл сообщения, выводящиеся в разные (stdout и stderr) потоки. Будете обдумывать ответы - авось доберётесь до решения. Будете возмущаться - скорее всего, решение помашет хвостиком... S_Gurя не собираюсь оставлять этот cmd. Я его сделал сейчас для теста. А на продакшене оно чем будет вызываться и откуда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:52:47 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Akina, спасибо, я знаю основы функционирования операционных систем. Мне нужно выводить в файл именно сообщения MySQL. C CMD я как-нибудь разберусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 13:58:09 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Akina, я планировал, что оно будет вызываться из программы на дельфях. Стоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. После чего так же проверяется лог и определяется, выполнилась ли операция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:04:08 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_GurВо-вторых, если в моем варианте поставить существующий файл, но испортить, например, пароль, то выдается ошибка MySQL "access denied for user", это уже не ошибка системы. Но все равно вывод идет только на консоль. только что я выполнил такую команду Код: sql 1. и у меня отлично создался файл out.txt в котором содержится строка ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) тот же самый результат я получаю если "завертываю" эту команду в out.bat S_GurПоэтому просьба воздержаться с определениями типа "извращенец" и сосредоточиться на проблеме - конечно, если у вас есть что сказать по теме Извращенец - это человек, который что-то извращает. Ваши извращения пагубны не сами по себе, а они лишают меня возможности помочь вам решить задачу. Вот я бы и хотел вам предложить какое-то решение, но я реально опасаюсь, что получив от меня следующий ответ, вы опять что-то извратите и мой ответ опять попадет мимо. Мои ответы летят мимо не потому что я "стреляю" мимо, а потому что вы передаете ошибочные "координаты цели" и по вашей вине я "стреляю" вслепую. Поэтому я желаю вам удачи разобраться с вашей задачей. Я из этой темы ухожу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:10:32 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Ну так тебе показаны два варианта. Именно MySQL. Первый - перенаправлением stdout и stderr. Второй - штатным дублированием консольного вывода в файл. S_Gurесли в моем варианте поставить существующий файл, но испортить, например, пароль, то выдается ошибка MySQL "access denied for user", это уже не ошибка системы. В обоих вариантах сообщение падает в файл. Но в разной форме. В первом случае туда попадёт Код: sql 1. 2. А во втором только: Код: sql 1. S_GurЯ ввел в команду несуществующий sql-файл. На консоль прекрасно выдалось "The system cannot find the file specified". А вот это уже сообщение от CMD.EXE. И я не понял, чего ты возмущался, если намерен "с CMD как-нибудь разобраться" самостоятельно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:11:50 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за помощь. Путем перенаправления вывода проблема решена - логи стали создаваться. Странно, что MySQL не может создавать файлы без плясок с бубнами, но теперь худо-бедно я могу контролировать процесс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:12:57 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_GurСтоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. После чего так же проверяется лог и определяется, выполнилась ли операция Ну точно, извращенец - вместо штатных средств изобретать велосипед. Пусть с квадратными колёсами, зато свой... Закрой свои Дельфи и почитай мануал, главным образом раздел, рассказывающий про репликацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:14:09 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Akina, я возмущался только определениями типа "извращенец". От CMD в этой конструкции зависит только проверка наличия файла - с этим я могу справиться и до запуска mysql.exe. Все остальные возможные ошибки должен возвращать уже mysql. Возможно, я неправильно сделал тестовый пример, но в других случаях сообщения от сервака тоже не выдавались и файлы не создавались вообще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:16:27 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
AkinaS_GurСтоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. После чего так же проверяется лог и определяется, выполнилась ли операция Ну точно, извращенец - вместо штатных средств изобретать велосипед. Пусть с квадратными колёсами, зато свой... Закрой свои Дельфи и почитай мануал, главным образом раздел, рассказывающий про репликацию. Спасибо за мудрые советы. Если бы было возможно настроить репликацию - я бы ничего не изобретал. Здесь не технические проблемы - скорее, политические. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:18:07 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
Кстати, есть какие-нибудь идеи насчет того, почему не работает ключик -tee? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:29:24 |
|
||
|
mysql.exe лог в файл
|
|||
|---|---|---|---|
|
#18+
S_GurЕсли бы было возможно настроить репликацию - я бы ничего не изобретал. Здесь не технические проблемы - скорее, политические. А нам не видно... Просто логирование в файл - это ненадёжно. Для тестов ещё подойдёт, но на боевой системе... S_GurСтоит задача синхронизации нескольких таблиц, этот вариант показался мне самым быстрым. Сначала вызывается mysqldump, который создает sql-файл. Если его лог нулевого размера (я так понял, это значит, что ошибок нет) и дамп существует, запускается его поднятие второй командой. SELECT INTO OUTFILE + LOAD DATA INFILE может оказаться быстрее, чем mysqldump. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2015, 14:30:27 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39069412&tid=1832640]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 341ms |

| 0 / 0 |
