Я пытался импортировать большой файл sql через phpMyAdmin ... Но он продолжал показывать ошибку
'Сервер MySQL ушел'
Что делать?
mysql
phpmyadmin
FrancisMV123
источник
источник
max_allowed_packet
. Немного грубо, но если это работает, вы можете найти вменяемое значение.Ответы:
Как указано здесь :
Редактировать:
Обратите внимание, что файлы опций MySQL не имеют своих команд, уже доступных как комментарии (как, например, в php.ini). Поэтому вы должны вводить любые изменения / настройки в
my.cnf
илиmy.ini
и помещать их вmysql/data
каталог или в любой другой путь, в соответствующую группу параметров, таких как[client]
,[myslqd]
и т. Д. Например:Затем перезапустите сервер. Чтобы получить их значения, введите в клиент mysql:
источник
SHOW VARIABLES
запрос MySQL), и файл, который я импортировал, имел несколько очень больших записей. Я открыл файл my.ini (я работал под управлением Windows) и установил значение this:,max_allowed_packet = 64M
перезапустил MySQL и повторно запустил импорт.wait_timeout
линиюДля меня это решение не сработало, поэтому я выполнил
в моем клиенте SQL.
Если вы не можете изменить это при запущенной службе MYSql, вам следует остановить службу и изменить переменную в файле «my.ini».
Например:
источник
php.ini
файл (как предложено @GBD в ответе), и файл конфигурации MySQL,my.ini
чтобы он работал.SHOW variables LIKE 'max_allowed_packet'
max_allowed_packet
в одном клиенте, а затем импорт большого.sql
файла в другом сеансе будет работать нормально.Если вы работаете над XAMPP, вы можете исправить проблему с MySQL Server, выполнив следующие изменения.
Откройте файл my.ini. Расположение my.ini (D: \ xampp \ mysql \ bin \ my.ini)
изменить следующие значения переменных
источник
Если вы работаете со значениями по умолчанию, у вас есть много возможностей для оптимизации конфигурации MySQL.
Первым шагом, который я рекомендую, является увеличение max_allowed_packet до 128M.
Затем загрузите скрипт учебника по настройке MySQL и запустите его. Он предоставит рекомендации для нескольких аспектов вашей конфигурации для лучшей производительности.
Также обратите внимание на настройку значений времени ожидания как в MySQL, так и в PHP.
Насколько велик (размер файла) импортируемый файл, и можете ли вы импортировать файл с помощью клиента командной строки mysql вместо PHPMyAdmin?
источник
Если вы используете MAMP на OS X, вам нужно будет изменить
max_allowed_packet
значение в шаблоне для MySQL.Вы можете найти его по адресу: Файл> Изменить шаблон> MySQL my.cnf
Затем просто найдите
max_allowed_packet
, измените значение и сохраните.источник
Я решил свою проблему с помощью этого короткого файла /etc/mysql/my.cnf:
источник
[mysqld]
Другая причина, по которой это может произойти, - нехватка памяти. Проверьте / var / log / messages и убедитесь, что ваш my.cnf не настроен так, чтобы mysqld выделял больше памяти, чем у вашей машины.
Ваш процесс mysqld на самом деле может быть убит ядром, а затем перезапущен процессом safe_mysqld без вашего ведома.
Используйте top и следите за распределением памяти во время работы, чтобы увидеть, какой у вас запас.
сделайте резервную копию my.cnf перед его изменением.
источник
У меня была эта и другие связанные ошибки, когда я импортировал файл SQL размером 16 ГБ. Для меня редактирую my.ini и устанавливаю следующее (основываясь на нескольких разных постах) в разделе [mysqld]:
Если вы работаете под Windows, зайдите в панель управления, службы и посмотрите на детали для MySQL, и вы увидите, где находится my.ini. Затем после редактирования и сохранения my.ini перезапустите службу mysql (или перезагрузите компьютер).
Если вы используете HeidiSQL, вы также можете установить некоторые или все из них, используя это.
источник
Я обновил «max_allowed_packet» до 1024M, но он все еще не работал. Оказывается, мой сценарий развертывания был запущен:
Не забудьте явно указать большее число из командной строки, если вы делаете это таким образом.
источник
Если ваши данные включают
BLOB
данные:Обратите внимание, что импорт данных из командной строки, похоже, блокирует BLOB-данные, что приводит к ошибке «Сервер MySQL исчез».
Чтобы избежать этого, заново создайте mysqldump, но с
--hex-blob
флагом:http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_hex-blob
который запишет файл данных с шестнадцатеричными значениями, а не двоичным среди другого текста.
PhpMyAdmin также имеет опцию «Дамп двоичных столбцов в шестнадцатеричной записи (например,« abc »становится 0x616263)», которая работает хорошо.
Обратите внимание, что существует давняя ошибка (по состоянию на декабрь 2015 года), которая означает, что
GEOM
столбцы не преобразуются: создайте резервную копию таблицы со столбцом GEOMETRY с помощью mysqldump? таким образом, использование такой программы, как PhpMyAdmin, кажется единственным выходом (упомянутая выше опция корректно преобразует столбцы GEOM).источник
Если для сбоя требуется много времени, увеличьте
wait_timeout
переменную.Если сразу не получается, увеличьте
max_allowed_packet
переменную; если он все еще не работает, убедитесь, что команда является допустимым SQL. У меня были скрытые цитаты, которые все испортили.Также, если это возможно, рассмотрите возможность ограничения количества вставок одной команды SQL, скажем, до 1000. Вы можете создать сценарий, который создает несколько операторов из одной, повторно вводя часть INSERT ... каждые n вставок.
источник
я получил похожую ошибку .. чтобы решить эту проблему, просто откройте файл my.ini .. здесь в строке № 36 измените значение максимально допустимого размера пакета, т.е. max_allowed_packet = 20 миллионов
источник
Убедитесь, что процесс mysqld не перезапускается из-за менеджеров сервисов, таких как systemd.
У меня была эта проблема в vagrant с centos 7. Настройки не помогли. Оказалось, что именно systemd убивал службу mysqld каждый раз, когда занимал слишком много памяти.
источник
У меня была похожая ошибка сегодня при дублировании базы данных (сервер MySQL ушел ...), но когда я попытался перезапустить mysql.server restart, я получил ошибку
Вот как я это решил: я открыл Приложения / Утилиты / и запустил Activity Monitor
затем смог решить проблему с ошибкой
источник
Я делаю некоторые большие вычисления, которые включают в себя соединение MySQL, чтобы остаться надолго и с тяжелыми данными. я столкнулся с этим "Mysql уйти проблема". Поэтому я попытался оптимизировать запросы, но это мне не помогло, тогда я увеличил предел переменных mysql, который по умолчанию установлен на более низкое значение.
wait_timeout max_allowed_packet
До предела, который когда-либо вас устраивает, должен быть любой номер * 1024 (байт). Вы можете войти в терминал, используя команду « mysql -u username - p », и можете проверить и изменить эти ограничения переменных.
источник
Для общего хостинга GoDaddy
На учетных записях общего хостинга GoDaddy сложно настроить файлы PHP.ini и т. Д. Однако есть и другой способ, и он просто отлично сработал для меня. (Я только что успешно загрузил 3.8Mb текстовый файл .sql, содержащий 3100 строк и 145 столбцов. Используя команду IMPORT в phpMyAdmin, я получил страшный сервер MySQL, ушел , и никакой дополнительной информации.)
Я обнаружил, что у Мэтта Батчера был правильный ответ. Как и Мэтт, я испробовал все виды трюков, от экспорта баз данных MySQL в виде кусочков до написания сценариев, которые разбивают большой импорт на более мелкие. Но вот что сработало:
(1) CPANEL ---> ФАЙЛЫ (группа) ---> РЕЗЕРВНОЕ КОПИРОВАНИЕ
(2a) В разделе «Частичное резервное копирование» ...
(2b) В разделе «Загрузить резервную копию базы данных MySQL»
(2c) Выберите базу данных и загрузите резервную копию (этот шаг не обязателен, но целесообразен)
(3a) Прямо справа от 2b, под заголовком «Восстановление резервной копии базы данных MySQL»
(3b) Выберите файл импорта .SQL с вашего локального диска
(3c) Истинное счастье будет вашим (в скором времени ....) Моя добыча заняла около 5 секунд
Примечания:
а. Если вы не знаете, как создать файл импорта .SQL, используйте phpMyAdmin для экспорта таблицы и изменения этой файловой структуры.
ИСТОЧНИК: Matt Butcher 2010 Статья
источник
Если увеличение
max_allowed_packet
не помогает.Я получаю ту же ошибку, что и вы, при импорте
.sql
файла в мою базу данных через Sequel Pro.Ошибка все еще сохраняется после повышения
max_allowed_packet
до,512M
поэтому вместо этого я запустил импорт в командной строке:Это дало следующую ошибку:
Я нашел пару полезных вопросов StackOverflow:
В моем случае мой
.sql
файл был немного поврежден или что-то в этом роде. Получаемый нами дамп MySQL поставляется в виде двух zip-файлов, которые необходимо объединить, а затем разархивировать. Я думаю, что распаковка была сначала прервана, в результате чего в файле появились странные символы и кодировки. Получение свежего дампа MySQL и распаковка его правильно работали для меня.Я просто хотел добавить это здесь на тот случай, если другие обнаружат, что увеличение
max_allowed_packet
переменной не помогает.источник
Ни одно из решений относительно размера пакета или тайм-аутов не имело для меня никакого значения. Мне нужно было отключить ssl
https://dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
источник
У меня такая же проблема с
В файле \ xampp \ mysql \ bin \ my.ini phpmyadmin мы получаем только
который предназначен только для mysqldump -u root -p dbname. Я решил мою проблему, заменив код выше
источник