Вопрос: MySQL потерял ошибку соединения на mysqldump


У меня есть база данных MySQL 1 ТБ, которую я бы хотел сбросить и перезагрузить. Большая часть данных находится в одной таблице. Множество данных было удалено, поэтому я уверен, что если я сбрасываю его с помощью mysql, перестраиваю базу данных, а затем перезагружаю ее, общий размер будет меньше.

Я сбрасываю данные с помощью этой команды:

mysqldump  -uroot -pXXX  mydb | gzip -c > data.sql.gz

Я получаю эту ошибку

 mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `MY_TABLE` at row: 596089342

Я пробовал много вариантов, включая увеличение размера пакета, выполнение одного перевода и переход по TCP / IP вместо локального сокета.

mysqldump  -uroot -pXXX -h 127.0.0.1 --max-allowed-packet=1024M  --single-transaction mydb | gzip -c > data.sql.gz

Наконец, я даже выполнил команду / dev / null, чтобы убедиться, что это не gzip. Все перестановки создают ту же ошибку.

mysqldump  -uroot -pXXX -h 127.0.0.1 mydb > /dev/null

Вот некоторые настройки в my.cnf

max_allowed_packet = 1G
interactive_timeout = 600
wait_timeout = 600
net_read_timeout=600
net_write_timeout=600
connect_timeout=600

Еще одна особенность заключается в том, что дамп всегда останавливается на одном месте. Примерно 6 ГБ данных gzipped и примерно в той же записи. Когда я делаю ls -l, размер файла всегда идентичен.

Я в тупике. Любые предложения для следующих шагов?

Для записи это Mysql 5.1.58, работающий на Ubuntu 11.10

БУДЕМ


6
2018-01-18 00:57


Источник


Попробуйте: восстановление interactive_timeout а также wait_timeout к их значениям по умолчанию или использованию именованного канала. - Michael Hampton♦
Есть ли ошибки в журнале сервера? Вы пытались сбросить с помощью phpmyadmin? - Jure1873
Это сервер linux. Что такое труба? (это не только Windows). - Will Glass
ошибок в журнале нет. - Will Glass
Я попытался снова после восстановления interactive_timeout и wait_timeout до их значений по умолчанию и получил тот же результат. - Will Glass


Ответы:


В конце концов, похоже, что у меня было повреждение данных. Я скопировал два тома (EC2 ebs), которые были связаны с LVM. Возможно, я не смог заморозить громкость при создании копии, и я подозреваю, что они не были должным образом синхронизированы. Я начал с моих исходных томов, снова запустил процедуру, тщательно заморозив том xfs перед тем, как сделать снимок EC2, а затем загрузил копии на мой новый сервер, и он работал нормально.


3
2018-04-01 08:28





Пробовали ли вы использовать файл сокета, чтобы обходить уровень TCP / IP, например.

# Find the socket file e.g.
$ grep  "^socket"  /etc/my.cnf
socket      = /var/lib/mysql/mysql.sock
#
# Plug the filename into the mysqldump
$ mysqldump  --socket=/var/lib/mysql/mysql.sock -uroot mydb | gzip -c > data.sql.gz

0
2018-01-18 11:27



Тот же вопрос. mysqldump --socket = / var / run / mysqld / mysqld.sock mydb создает mysqldump: получена ошибка: 2013: потерянное соединение с сервером MySQL во время запроса при извлечении данных с сервера - Will Glass
Я предлагаю вам добавить вашу проблему к следующему ошибка отчет, так как у вас все еще есть проблема. - arober11
Что сообщение об ошибке? - Will Glass
«ошибка» - это гиперссылка (термин techie internet, изобретенный в 1980-х годах), если вы «нажмете» слово, которое вы переведете на другую веб-страницу: o) - arober11
Не заметил. Они должны запрещать гиперссылки без подчеркивания. - Will Glass