LINUX.ORG.RU

python и обработка ошибок восстановления mysql

 ,


1

1

пишу скрипт, который будет чекать побитые базы. если базу не восстановить, майсиквел вываливает ошибку, а впрочем, не вываливает он ошибку, а вываливает результат, где как бы ошибка, но в выхлопе. придётся парсить вывод. спасибо за внимание

★★★

Ответ на: комментарий от goingUp

в первом случае, он не вываливает исключение, хотя базу восстановить не может:

mysql> repair table maxxin_forum.blog_usercss;
+---------------------------+--------+----------+--------------------------------------+
| Table                     | Op     | Msg_type | Msg_text                             |
+---------------------------+--------+----------+-----------------------------mysql> repair table maxxin_forum.blog_usercss;
+---------------------------+--------+----------+--------------------------------------+
| Table                     | Op     | Msg_type | Msg_text                             |
+---------------------------+--------+----------+--------------------------------------+
| maxxin_forum.blog_usercss | repair | Error    | Incorrect file format 'blog_usercss' |
| maxxin_forum.blog_usercss | repair | error    | Corrupt                              |
+---------------------------+--------+----------+--------------------------------------+
2 rows in set (0.00 sec)

mysql> sdgdfsg;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sdgdfsg' at line 1
---------+
| maxxin_forum.blog_usercss | repair | Error    | Incorrect file format 'blog_usercss' |
| maxxin_forum.blog_usercss | repair | error    | Corrupt                              |
+---------------------------+--------+----------+--------------------------------------+
2 rows in set (0.00 sec)

mysql> sdgdfsg;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sdgdfsg' at line 1

видимо, исключение будет вываливаться, только если запрос кривой

xsektorx ★★★
() автор топика
Ответ на: комментарий от goingUp

это у меня мышка шлючит и тыкает среднюю дважды вместо одного раза

mysql> repair table maxxin_forum.blog_usercss;
+---------------------------+--------+----------+--------------------------------------+
| Table                     | Op     | Msg_type | Msg_text                             |
+---------------------------+--------+----------+--------------------------------------+
| maxxin_forum.blog_usercss | repair | Error    | Incorrect file format 'blog_usercss' |
| maxxin_forum.blog_usercss | repair | error    | Corrupt                              |
+---------------------------+--------+----------+--------------------------------------+
2 rows in set (0.00 sec)

mysql> sdgdfsg;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sdgdfsg' at line 1

во втором случае, я думаю, будет исключение в первом не будет потому что майсиквел его не порождает, а пистон и модули как бы и ни при чём

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

Он о этом сообщает в выводе. И по идее парсить его не надо, можно получить обычным способом, как результат sql запроса.

goingUp ★★★★★
()
Ответ на: комментарий от true_admin

1. я изучаю пихтон

2. теперь там не работает одновременно --analyze --optimize --repair. ещё он вылетает, если навернуть --all-databases на первой ошибке. так что обёртку по-любому писать нужно, хоть на баше в несколько строк

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

чего? Кстати строка необязательно будет одна. Но в последней строке будет ОК. Так в мануале пишут. Походу единственный способ узнать результат.

ziemin ★★
()
Ответ на: комментарий от ziemin

лоад аверейдж.

да блин, майсиквелчек делает то же самое, но неадекватно выдаёт результат, который неудобно читать. тем более, что там ещё бывает, что в одной строке блабла, будет пересоздавать, а только потом уже, что ок. ещё, правда, можно -s использовать, но пихтон-то надо потыкать палочкой

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

не работает одновременно --analyze --optimize --repair

Тебе кажется это странным?

ещё он вылетает, если навернуть --all-databases на первой ошибке

это то что тебе нужно

true_admin ★★★★★
()
Ответ на: комментарий от xsektorx

wikipedia

Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL. Когда в 1986 году первый стандарт языка SQL был принят ANSI (American National Standards Institute), официальным произношением стало [,es kju:' el] — эс-кью-эл. Несмотря на это, даже англоязычные специалисты зачастую продолжают читать SQL как сиквел (по-русски часто говорят «эс-ку-эль» или используют жаргонизм «скуль»).

SQL - эс-ку-эль, SEQUEL - сиквел. и юридически это разные вещи, да простят меня англоязычные специалисты.

anonymous
()
Ответ на: комментарий от true_admin

раньше работало. алсо вылет на первой ошибке не нужен, хотя есть -f

xsektorx ★★★
() автор топика
Ответ на: комментарий от anonymous

логопед-то причём, зануда? может мне ещё ляликс линуксом называть?

xsektorx ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.