SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.10.2012 00:15:38

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Как определить и устранить ошибку?

Здравствуйте, уважаемые участники форума.
Я пытаюсь восстановить базу данных.
Во время иморта базы получаю следующее

/* SQL Error (2013): Lost connection to MySQL server during query */
/* 338 rows affected, 0 rows found. Duration for 50 of 80 queries: 2,250 sec. */
/* Connection to localhost closed at 2012-10-24 23:11:36 */

Поискав в интернете, никакой путной информации не нашел, но прочитал где-то что нужно посмотреть в чем ошибка, чтобы можно было понять.
Помогите разобраться пожалуйста.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#2 25.10.2012 02:32:45

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

Как восстанавливаете базу? Что в error log?

Неактивен

 

#3 25.10.2012 02:57:01

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Хотелось бы сначала понять, где error log, и как его посмотреть?


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#4 25.10.2012 03:48:03

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

В каталоге баз данных, что-то типа c:\programs files\mysql\data
Файл с расширением .err, смотреть текстовым редактором, например, блокнотом.

Неактивен

 

#5 25.10.2012 12:44:43

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

121025 11:42:11 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Normal shutdown

121025 11:42:11 [Note] Event Scheduler: Purging the queue. 0 events
121025 11:42:12  InnoDB: Starting shutdown...
121025 11:42:23  InnoDB: Shutdown completed; log sequence number 0 44243
121025 11:42:23 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Shutdown complete

121025 11:42:29 [Note] Plugin 'FEDERATED' is disabled.
121025 11:42:30  InnoDB: Initializing buffer pool, size = 180.0M
121025 11:42:30  InnoDB: Completed initialization of buffer pool
121025 11:42:32  InnoDB: Started; log sequence number 0 44243
121025 11:42:33 [Note] Event Scheduler: Loaded 0 events
121025 11:42:33 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
Version: '5.1.57-community'  socket: ''  port: 3306  MySQL Community Server (GPL)


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#6 25.10.2012 12:52:10

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Пробовал перевести все это дело, но насколько понял, это относится к перезагрузки mysql. А перезагрузку сделал, после того, как очистил этот файл, т.к. там было очень много записей, и после выполнения запроса, обнаружил, что файл все еще пустой. Перезагрузил mysql, получил эти записи. Других подобных файлов не нашел, сейчас попробую еще поиском воспользоваться, но данный файл лежал в папке с другими файлами таблицы.
Для восстановления базы использую программу heidiSQL, он и выдает мне ошибку.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#7 25.10.2012 14:44:23

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Больше ничего не нашел. Так и не понял в чем моя проблема.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#8 25.10.2012 20:28:13

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

Т.е. вы очистили файл, перезагрузили mysql, выполнили импорт и после посмотрели содержимое файла?

Попробуйте восстановить базу через консоль (меню Пуск - выполнить - cmd ).
C:\Documents and Settings\aa>cd "c:\Program Files\MariaDB 5.3\bin"
C:\Program Files\MariaDB 5.3\bin>mysql -u root -p имя_базы < c:\имя_файла.sql

Неактивен

 

#9 26.10.2012 12:50:37

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Да все верно, я очистил файл, перезагрузил mysql, выполнил импорт и посмотрел содержимое файла?

Попробовал сделать как описано.
Получил следующую ошибку
ERROR 1366 <HY000> at line 19: Incorrect string value: '\xC0\xEA\xF2\xE8\xE2\xE0
...' for column 'menu' at row 1

А в файле так ничего нового и не появилось

Отредактированно platedz (26.10.2012 12:51:07)


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#10 26.10.2012 13:38:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

А это кодировка консоли винды cp866. Перед тем как заливать дамп измените её на utf-8 (chcp 65001) или cp1251 (chcp 1251).

C:\Program Files\MariaDB 5.3\bin>chcp 1251
C:\Program Files\MariaDB 5.3\bin>mysql -u root -p имя_базы < c:\имя_файла.sql

Неактивен

 

#11 26.10.2012 14:08:35

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Спасибо за ответ, но к сожалению не помогло - результат тотже ошибка 1366


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#12 26.10.2012 14:13:41

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

В начале дамп есть set names имя_кодировки?

Неактивен

 

#13 26.10.2012 17:43:13

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Нет нету.
Вот такое только есть
#SKD101|a_catalog|21|2012.01.17 11:29:05|54315|1|74|5|271|12|244|38|5|11|56|32436|7|11879|1027|52|33|938|1583|4935|6|702


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#14 27.10.2012 01:09:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

Что касается кодировки. Вам нужно:
1. Определить в какой кодировке дамп (файл с расширением .sql). Например, можно открыть его с помощью браузера и посмотреть меню Вид - Кодировка.
2. В начале дампа указать
SET NAMES имя_кодировки_из_прошлого_пункта;
3. Консоль перевести в ту же кодировку.
После этого загрузить дамп.


Но приведенный вами отрывок дапма вызывает сильные сомнения. У вас файл с расширением .sql или .txt ? Как вы его получили?

Неактивен

 

#15 27.10.2012 01:46:57

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Спасибо попробую.
Получил с помощью встроенной в скрипт функции если не ошибаюсь взятой отсюда http://sypex.net/.
Замечу, что и раньше с помощью нее восстанавливал, проблем не возникало.

Опытным путем установил, что проблема возникает там, где большой Insert into Т.е.

INSERT INTO `table` VALUES (1.....),(2.....),(3.....) и тд. в несколько тысяч. (10000.....)

Если разбить его скажем на несколько сотен
INSERT INTO `table` VALUES (1.....),(2.....),(3.....) и тд. (100.....)
INSERT INTO `table` VALUES (101.....),(102.....),(103.....) и тд.  (200.....);
то загружается нормально

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

Отредактированно platedz (27.10.2012 02:00:25)


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#16 27.10.2012 02:13:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

platedz написал:

Спасибо попробую.
Получил с помощью встроенной в скрипт функции если не ошибаюсь взятой отсюда http://sypex.net/.
Замечу, что и раньше с помощью нее восстанавливал, проблем не возникало.

Рекомендую делать дамп с помощью mysqldump
http://sqlinfo.ru/forum/viewtopic.php?id=583
тогда не придется гадать ошибка ли это скрипта, который сделал кривой дамп.


platedz написал:

Опытным путем установил, что проблема возникает там, где большой Insert into Т.е.

Т.е. предыдущая проблема с кодировками разрешена?

platedz написал:

Опытным путем установил, что проблема возникает там, где большой Insert into Т.е.

INSERT INTO `table` VALUES (1.....),(2.....),(3.....) и тд. в несколько тысяч. (10000.....)

Если разбить его скажем на несколько сотен
INSERT INTO `table` VALUES (1.....),(2.....),(3.....) и тд. (100.....)
INSERT INTO `table` VALUES (101.....),(102.....),(103.....) и тд.  (200.....);
то загружается нормально

С какой ошибкой заканчивается попытка восстановления в консоли?

platedz написал:

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

Я для того и рекомендовал вам восстанавливать из консоли, чтобы видеть код и текст ошибки.

Неактивен

 

#17 27.10.2012 02:53:28

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

vasya написал:

Т.е. предыдущая проблема с кодировками разрешена?

Скорее появилась новая проблема

В начале файла написал
SET NAMES 1251;

Получил

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

vasya написал:

Рекомендую делать дамп с помощью mysqldump
http://sqlinfo.ru/forum/viewtopic.php?id=583
тогда не придется гадать ошибка ли это скрипта, который сделал кривой дамп.

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

vasya написал:

С какой ошибкой заканчивается попытка восстановления в консоли?

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

vasya написал:

Я для того и рекомендовал вам восстанавливать из консоли, чтобы видеть код и текст ошибки.

Я имел ввиду, что может можно прочитать логи с помощью консольных команд. Вдруг я что не так открыл или посмотрел.

А еще я не разобрался как здесь цитировать отдельные куски сообщений, буду признателен за подсказку.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#18 27.10.2012 02:58:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

platedz написал:

vasya написал:

Т.е. предыдущая проблема с кодировками разрешена?

Скорее появилась новая проблема

В начале файла написал
SET NAMES 1251;

Получил

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

кодировка называется cp1251
SET NAMES cp1251;

Неактивен

 

#19 27.10.2012 03:06:30

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

platedz написал:

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

Обучить.


platedz написал:

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

Предполагаю, что проблема в маленьком значении max_allowed_packet на локальном компе.
В файле my.ini в секции [mysqld] найдите значение max_allowed_packet и увеличьте, если есть или допишите

[mysqld]
max_allowed_packet = 32M

После перезапустите MySQL


platedz написал:

Я имел ввиду, что может можно прочитать логи с помощью консольных команд. Вдруг я что не так открыл или посмотрел.

А еще я не разобрался как здесь цитировать отдельные куски сообщений, буду признателен за подсказку.

Не понял о каких логах идет речь.
Цитировать куски неудобно - цитируется всё сообщение, затем Ctrl+C, Ctrl+V, Del. smile

Неактивен

 

#20 01.11.2012 05:27:19

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

кодировку cp1251  пробовал, пробовал window-1251 и utf-8 и др.  Сейчас точно не скажу, что получил в зависимости от того или иного написания кодировки, но было два вида ошибок, или как указано выше, или еще какая-то, но она возникала в том случае, если набирать любую билиберду, т.ч. уточнять наверное нет смысла.

max_allowed_packet = 32M у меня не было написано. Прописал, все прошло замечательно.
Большое спасибо.

Про логи я имел ввиду, что посмотреть файл ошибок. Просто на мой взгляд раз ошибка возникает, значит она вроде как должна где-то фиксироваться. А раз в файле она не прописана, то возможно прописана в другом месте, и можно посмотреть ее прописав какую-либо команду в консоли

Отредактированно platedz (01.11.2012 05:29:19)


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#21 01.11.2012 12:48:14

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

В файле .err фиксируются ошибки сервера, а у вас имеют место быть ошибки клиента.

Неактивен

 

#22 01.11.2012 14:16:48

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

А ошибки клиента не фиксируются?


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

#23 02.11.2012 00:32:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как определить и устранить ошибку?

Зависит от клиента. Если, например, клиент ваш скрипт php, то будет фиксировать, если запрограммируете правильно.

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

Неактивен

 

#24 02.11.2012 15:57:05

platedz
Старожил
Зарегистрирован: 27.03.2012
Сообщений: 314

Re: Как определить и устранить ошибку?

Почти ясно. Спасибо большое.


Wazzup.su - это сервис объединивший в себе все в одном.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson