Произошло неожиданное прерывание при проверке или восстановлении файла базы данных
Обновлено: 21.11.2024
Иногда таблицы MySQL могут быть повреждены, что означает, что произошла ошибка, и данные, содержащиеся в них, не читаются. Попытки чтения из поврежденной таблицы обычно приводят к сбою сервера.
- Сервер MySQL останавливается в процессе записи.
- Внешняя программа изменяет таблицу, которая одновременно изменяется сервером.
- Компьютер неожиданно выключился.
- Отказ компьютерного оборудования.
- Где-то в коде MySQL обнаружена программная ошибка.
Если вы подозреваете, что одна из ваших таблиц повреждена, вам следует сделать резервную копию каталога данных перед устранением неполадок или попыткой исправить таблицу. Это поможет свести к минимуму риск потери данных.
Сначала остановите службу MySQL:
Затем скопируйте все свои данные в новый каталог резервного копирования. В системах Ubuntu каталог данных по умолчанию — /var/lib/mysql/ :
После создания резервной копии вы готовы приступить к изучению того, действительно ли таблица повреждена. Если таблица использует механизм хранения MyISAM, вы можете проверить, повреждена ли она, выполнив оператор CHECK TABLE из командной строки MySQL:
В выводе этого оператора появится сообщение, сообщающее, повреждено ли оно. Если таблица MyISAM действительно повреждена, ее обычно можно исправить, выполнив оператор REPAIR TABLE:
Предполагая, что восстановление прошло успешно, в выходных данных вы увидите сообщение, подобное следующему:
Однако если таблица все еще повреждена, документация MySQL предлагает несколько альтернативных методов восстановления поврежденных таблиц.
С другой стороны, если поврежденная таблица использует механизм хранения InnoDB, то процесс ее восстановления будет другим. InnoDB является механизмом хранения данных по умолчанию в MySQL, начиная с версии 5.5, и включает в себя автоматизированную проверку на наличие повреждений и операции восстановления. InnoDB проверяет наличие поврежденных страниц, вычисляя контрольные суммы на каждой прочитанной странице, и, если обнаруживает несоответствие контрольной суммы, автоматически останавливает сервер MySQL.
Редко возникает необходимость восстанавливать таблицы InnoDB, поскольку InnoDB имеет механизм аварийного восстановления, который может решить большинство проблем при перезапуске сервера. Однако, если вы столкнулись с ситуацией, когда вам нужно перестроить поврежденную таблицу InnoDB, документация MySQL рекомендует использовать метод «Дамп и перезагрузка». Это включает в себя восстановление доступа к поврежденной таблице с помощью утилиты mysqldump для создания логической резервной копии таблицы, которая сохранит структуру таблицы и данные в ней, а затем повторную загрузку таблицы обратно в базу данных. .
Помня об этом, попробуйте перезапустить службу MySQL, чтобы узнать, позволит ли это вам получить доступ к серверу:
Если сервер по-прежнему поврежден или недоступен по другой причине, может быть полезно включить параметр Force_recovery в InnoDB. Вы можете сделать это, отредактировав файл mysqld.cnf:
В разделе [mysqld] добавьте следующую строку:
Сохраните и закройте файл, а затем снова попробуйте перезапустить службу MySQL. Если вы можете успешно получить доступ к поврежденной таблице, используйте утилиту mysqldump для создания дампа данных таблицы в новый файл. Вы можете назвать этот файл как угодно, но мы назовем его out.sql :
Затем удалите таблицу из базы данных. Чтобы избежать повторного открытия командной строки MySQL, вы можете использовать следующий синтаксис:
После этого восстановите таблицу с помощью только что созданного файла дампа:
Обратите внимание, что механизм хранения InnoDB, как правило, более отказоустойчив, чем старый механизм MyISAM. Таблицы, использующие InnoDB, могут по-прежнему быть повреждены, но благодаря функциям автоматического восстановления риск повреждения таблиц и сбоев значительно ниже.
Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!
Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.
Серия руководств: устранение неполадок в MySQL
Это руководство предназначено для использования в качестве ресурса по устранению неполадок и отправной точки при диагностике установки MySQL. Мы рассмотрим некоторые проблемы, с которыми сталкиваются многие пользователи MySQL, и предоставим рекомендации по устранению конкретных проблем. Мы также будем включать ссылки на учебные пособия DigitalOcean и официальную документацию MySQL, которые могут быть полезны в определенных случаях.
В этой статье представлены сообщения об ошибках базы данных Jet и шаги по устранению неполадок.
Применимо к: Windows Server 2012 R2
Исходный номер базы знаний: 4042791
Обзор
Во время запуска операционной системы, установки/удаления контроллера домена или репликации Active Directory вы можете столкнуться с сообщениями об ошибках Jet.В этой статье представлены сообщения об ошибках Jet и их решения.
Сообщения об ошибках
-501 JET_errLogFileCorrupt
Причина
Аппаратное обеспечение повредило ввод-вывод при записи, или из-за аппаратного сброса данных журнал стал непригодным для использования. Обычно база данных (БД) остается в поврежденном состоянии.
Разрешение
Восстановите базу данных из заведомо исправной резервной копии или переустановите контроллер домена (DC).
-510 JET_errLogWriteFail / Ошибка записи в файл журнала
Причина
Произошла ошибка записи журнала. Эта проблема может быть вызвана любой из следующих причин:
- Контроллер, жесткий диск или другое оборудование перестали отвечать на команды диска.
- Программное обеспечение, например антивирусное, блокирует файлы журналов Active Directory.
Разрешение
Перезапуск сервера восстановит доступ, если это аппаратная проблема. Если проблема возникает часто, вы можете обновить микропрограмму, заменить контроллер или диск в указанном порядке.
В случае проблемы, связанной с программным обеспечением, остановите службы, которые блокируют файлы в файловой системе. Например, определите, блокирует ли антивирусное программное обеспечение файлы журналов Active Directory. Убедитесь, что нужные файлы добавлены в список исключений антивируса. Windows Server 2016 автоматически исключает определенные файлы и папки из антивирусной проверки, см. Список автоматических исключений. Для Windows Server 2012 R2 см.:
Если шаги 1 и 2 не помогли решить проблему, отключите их, чтобы определить, не является ли причиной проблемы приложение или служба стороннего производителя. Для этого выполните следующие действия:
- Нажмите клавишу Windows + R. Введите MSCONFIG и нажмите OK. На вкладке «Службы» выберите «Скрыть все службы Microsoft». Снимите флажок для сторонних служб.
- Отключить все включенные элементы автозагрузки.
- Перезапустите сервер.
-528 JET_errMissingLogFile
Причина
Это может быть связано с неожиданным завершением работы, вызванным отключением электроэнергии или другим непредвиденным завершением работы. Другие причины включают изменения, внесенные администратором в файлы журналов (например, копирование старой копии) или поврежденное программное обеспечение для резервного копирования/восстановления (если сразу после восстановления).
Разрешение
Восстановите базу данных из заведомо исправной резервной копии или переустановите контроллер домена.
-543 JET_errRequiredLogFilesMissing
См. -528/JET_errMissingLogFile (выше).
Причина
Администратор изменил журналы или сброс данных ввода-вывода при завершении работы.
-550 JET_errDatabaseDirtyShutdown
Причина
Администратор изменил журналы или сброс данных ввода-вывода при завершении работы.
-551 JET_errConsistentTimeMismatch
Причина
Администратор изменил журналы или сброс данных ввода-вывода при завершении работы.
-567 JET_errDbTimeTooNew
Причина
Дисковая подсистема потеряла ввод-вывод, вероятно, из-за зависания или незапланированного завершения работы.
Разрешение
Проверьте резервную батарею для дискового кэша.
-1018 JET_errReadVerifyFailure/Ошибка контрольной суммы на странице базы данных
Причина
БД повреждена из-за аппаратного сбоя.
Разрешение
- Оцените дисковый стек, включая материнскую плату/контроллер, микропрограмму, соединительные кабели и физические диски, и свяжитесь с соответствующими поставщиками по известным проблемам. Сравните текущую конфигурацию с эталонными конфигурациями поставщиков.
- Оцените, может ли проблема быть решена с помощью последних обновлений встроенного ПО или она была вызвана недавним обновлением встроенного ПО.
- Если некоторые контроллеры домена регистрируют -1018, а другие контроллеры домена в той же среде — нет, обратите внимание на различия в конфигурациях оборудования.
- Базы данных, регистрирующие эту ошибку, невозможно восстановить или исправить с помощью проверки целостности или семантического анализа базы данных в NTDSUTIL или ESENTUTL.
- Автономная дефрагментация может решить проблему в маловероятном случае, когда проблема связана с проблемой согласованности индекса.
- Попробуйте автономную дефрагментацию. Или восстановите резервную копию состояния системы, созданную до повреждения. Или принудительно понизьте уровень, выполните полную очистку метаданных и повторно повысьте уровень. Если появляется ошибка -1018, повторяйте, пока не будет устранена основная причина аппаратного обеспечения.
Когда ошибка Jet -1018s возникает на виртуализированных контроллерах домена, работающих на том же виртуальном хосте, только на компьютерах, использующих встроенный рейд-контроллер, ошибка может возникнуть из-за того, что источнику бесперебойного питания (ИБП) не хватало мощности для включения. RAID-контроллеры платы для фиксации изменений на диске после отключения электроэнергии. Обходной путь заключается в настройке программного обеспечения ИБП для отключения виртуальных гостей при отключении электроэнергии. На серверах с выделенными (не встроенными) RAID-контроллерами с собственным резервным аккумулятором ошибка -1018 JET не возникает.
-1019 JET_errPageNotInitialized / Пустая страница базы данных
Причина
Это похоже на ошибку -1018, но происходит из-за потери сброса страницы.
Потеря сброса может означать критическое изменение USN.Если одно и то же изменение не будет применено к локальным контроллерам домена или транзитивным партнерам по репликации, это может нанести ущерб, если существует один путь репликации.
Разрешение
Разверните ОС на серверном оборудовании и компонентах дисковой подсистемы.
- Установите ИБП на хост-компьютер.
- Установите дисковый контроллер со встроенной резервной батареей.
- Отключите кэш обратной записи на контроллере накопителя.
- Не размещайте файлы NTDS.DIT и LOG на дисках IDE.
Базы данных, в которых регистрируется эта ошибка, не могут быть восстановлены или восстановлены с помощью проверки целостности или семантического анализа базы данных в NTDSUTIL или ESENTUTL.
Автономная дефрагментация может решить проблему в маловероятном случае, когда проблема связана с проблемой согласованности индекса.
Попробуйте автономную дефрагментацию. Или восстановите резервную копию состояния системы, созданную до повреждения. Или принудительно понизьте уровень, выполните полную очистку метаданных, а затем повторно повысьте уровень. Повторяйте до тех пор, пока не будет устранена основная причина аппаратного обеспечения.
-1021 JET_errDiskReadVerificationFailure / ОС вернула ERROR_CRC из файлового ввода-вывода
Ошибка Jet -1021 впервые появилась в Windows Server 2008 R2. Версии Windows, более ранние, чем Windows Server 2008 R2, вместо этого возвращают -1022.
-1021 указывает на ошибку -1018, которая произошла на уровне диска. Другими словами, -1021 указывает, что диск вернул неверную контрольную сумму и является конкретным источником проблемы в стеке диска.
Причина
Проблема может быть связана с плохими блоками на жестком диске, которые может отслеживать жесткий диск.
Разрешение
Удаление и переустановка Active Directory на контроллере домена может привести к хранению данных в работоспособных блоках.
-1022 JET_errDiskIO / Ошибка дискового ввода-вывода
Причина
Общая ошибка диска. Ошибки дискового ввода-вывода означают, что ОС обнаружила неспецифическую ошибку при доступе к диску. Эта ошибка может регистрироваться, когда контроллеры возвращают общие ошибки, такие как «устройство не работает». Некоторые диски и версии Jet возвращают эту ошибку из-за проблем с CRC.
Разрешение
Проверьте весь стек драйверов.
-1206 JET_errDatabaseCorrupted
Причина
Эта ошибка аналогична отсутствующему/поврежденному файлу журнала. Эта ошибка указывает на то, что произошла потеря сброса.
-1216 JET_errAttachedDatabaseMismatch
Причина
Администратор изменил журналы или сброс данных ввода-вывода при завершении работы.
-1605 JET_errKeyDuplicate/Недопустимый дубликат ключа
Причина
Спорадическая ошибка. Эта ошибка может быть связана с повреждением индекса.
Разрешение
Удалите и переустановите Active Directory на контроллере домена. Запустите семантический анализ базы данных NTDUSITL. Если проблема не устранена, выполните автономную дефрагментацию.
Причина
Администратор изменил журналы или сброс данных ввода-вывода при завершении работы.
Устранение неполадок
Эти методы можно использовать для устранения ошибок базы данных Jet:
Убедитесь, что все базы данных Active Directory и файлы журналов развернуты на подходящем оборудовании.
Многие, но не все диски SATA и IDE не поддерживают команду записи на сброс. Диски SAS поддерживают его.
Базы данных и файлы журналов Active Directory должны использовать диски SAS на контроллерах SAS контроллеров домена, которые имеют резервную батарею на любом элементе кэширования записи.
Если 0xc00002e1 (c00002e1) и 0xc00002e2 (c00002e2) являются виртуальными гостевыми контроллерами домена, работающими на узлах Windows Server 2012 Hyper-V, установите корректирующие исправления из раздела Потеря согласованности с виртуальными жесткими дисками, подключенными к IDE, когда узел Hyper-V сервер подвергается незапланированному перезапуску на хостах и гостевых контроллерах домена по мере необходимости.
Проверьте, указывает ли событие, которое предшествовало ошибкам загрузки LSASS 0xc00002e1 (c00002e1) и 0xc00002e2 (c00002e2), на одну из следующих проблем:
- Незапланированное отключение электроэнергии.
- Зависание системы.
- Установка обновлений Windows или пакетов обновлений.
- Добавление или удаление дисков, томов или разделов в локальной системе.
- Сбой жесткого диска.
- NTDS.DIT или один или несколько файлов журналов были скопированы с другого компьютера или даже из предыдущей точки в жизни этого контроллера домена.
- Неизвестно
Запустите компьютер в режиме восстановления службы каталогов.
Рекомендация: сделайте резервную копию состояния системы, чтобы можно было откатить любые изменения, сделанные во время сеанса восстановления.
Рекомендация: заранее попросите администратора найти самую последнюю резервную копию состояния системы, чтобы вы могли учитывать наличие или отсутствие резервных копий состояния системы в своих планах восстановления. Попросите администратора делегировать расположение любых резервных копий, если это возможно.
Запустите NTDSUTIL -> Файлы -> Информация.
путь к NTDS.DIT и файлам журнала.
Убедитесь, что диск, на котором размещены файлы NTDS.DIT или журналы, доступен при запуске ОС.
Откройте проводник Windows и убедитесь, что NTDS.DIT и файлы журнала присутствуют по пути к файлу журнала, указанному на шаге 7.
Если файлы присутствуют, перейдите к шагу 10.
Если файлы отсутствуют, найдите на всех доступных дисках и томах файлы NTDS.DIT и журналы, принадлежащие этому экземпляру Active Directory.
На локальных дисках может находиться несколько файлов NTDS.DIT и журналов. Используйте метки даты и времени, чтобы найти нужный экземпляр.
Исправьте пути к базе данных и файлам журнала, как требуется.
Проверьте права доступа к файлам для рассматриваемой версии ОС.
Операционная система нуждается в достаточных разрешениях на Windows Server 2003.
- Корень тома, на котором размещены файлы журналов NTDS.DIT и NTDS (система требует полного контроля)
- Папка %windir% (т. е. c:\windows или c:\winnnt) (требуется полный доступ к системе)
- Папка, в которой находятся файлы журналов NTDS.DIT и NTDS (см. таблицу разрешений ниже)
- Сами файлы журналов NTDS (см. таблицу разрешений ниже)
Убедитесь, что правильные файлы журналов находятся в каталоге файлов журналов:
NTDSUTIL /FILES идентифицирует каталог базы данных и каталог файла журнала, если они отличаются. NTDSUTIL /MH определит, какие файлы журнала необходимы в каталоге файлов журнала.
Ни при каких обстоятельствах файлы базы данных или журналов с одного контроллера домена не должны копироваться на другой контроллер домена, чтобы сделать второй контроллер домена работоспособным.
Убедитесь, что сжатие диска или файла не включено ни на одном томе, на котором размещен том NTDS.DIT или файл журнала.
Проверить работоспособность базы данных в NTDS.DIT снизу вверх.
Проверка работоспособности базы данных Jet снизу вверх. Переходите к следующему слою только после того, как нижележащий слой завершится без ошибок.
Устранение любой ошибки, о которой сообщает логическая согласованность ESE или логическая согласованность приложений, когда физическая согласованность все еще не удалась, приведет вас к неправильному пути устранения неполадок.
Эквивалентные команды NTDSUTIL и ESENTUTL для каждой из них показаны ниже:
Поиск действия пользователя для первой ошибки Jet, возникшей на шаге 13. Выполните исправление, если это возможно.
Исправить базу данных Jet:
- Некоторые ошибки базы данных Jet можно исправить с помощью NTDSUTIL и ESENTUTL.
- Некоторые ошибки базы данных Jet не могут быть устранены, и любая попытка исправить их потерпит неудачу. В таких случаях единственным выходом может быть восстановление резервной копии состояния системы, созданной до повреждения, или создание нового сервера. Если контроллеры домена реплики обновлены, сначала продвигайте дополнительные реплики в домен после попытки устранить основную причину любых аппаратных или программных ошибок.
Ошибка Jet, возвращаемая в общем событии NTDS 1168, является ошибкой прикладного уровня. Не предпринимайте никаких действий с этой ошибкой Jet, если только проверки физической согласованности Jet и логической согласованности приложений (проверенные в указанном порядке) не пройдут без ошибок.
Дополнительная информация
Дополнительную информацию см. в следующей статье Microsoft:
Что такое потерянный ввод-вывод/потерянный сброс
Когда приложение записывает данные на диск, диск показывает, что операция записи прошла успешно. Однако, когда приложение пытается прочитать данные, которые оно только что записало, данные не существуют. Эта проблема называется потерянным вводом-выводом или потерянным сбросом.
Одной из ошибок, из-за которой ваш сайт временно становится недоступным, является ошибка подключения к базе данных. Вы могли столкнуться с этой ошибкой, когда обнаружите, что вводите URL-адрес своего сайта, и ничего не появляется, кроме этого сообщения об ошибке: «Ошибка установления соединения с базой данных».
Если вы когда-либо сталкивались с этой ошибкой или пытаетесь найти для нее решение, не волнуйтесь! В этом уроке мы покажем вам, как очень легко исправить эту ошибку — правильно. Внимательно следуя инструкциям, вы сможете восстановить свой сайт и вернуть весь свой трафик и подписчиков в кратчайшие сроки.
Звучит хорошо? Начнем!
Что такое ошибка при установлении ошибки подключения к базе данных?
Прежде чем мы перейдем к руководству, давайте немного разберемся, что на самом деле означает эта ошибка. Ошибка, устанавливающая ошибку подключения к базе данных, в основном означает, что по той или иной причине PHP-код не смог подключиться к вашей базе данных MySQL, чтобы получить информацию, необходимую для полного построения этой страницы. Вот почему ошибка всегда отображается на пустой странице, потому что нет информации о вашем сайте, так как он не подключен к вашей базе данных.
Почему возникает ошибка при установлении ошибки подключения к базе данных?
Теперь, когда мы поняли значение ошибки, нам нужно выяснить, что вызывает ошибку, когда мы пытаемся открыть наш сайт WordPress. Это может быть вызвано многими причинами, поскольку ошибки в подключении к базе данных могут иметь несколько различных основных причин.
01. Неверные учетные данные для входа
Например, это может быть из-за неправильного имени пользователя и пароля, используемых для доступа к панели администратора.Если учетные данные для входа недавно изменились, вы не сможете получить доступ к своей базе данных со старыми. Поэтому первым делом нужно убедиться, что вводимые вами учетные данные верны.
02. Поврежденная база данных
Другая возможность заключается в том, что база данных может быть повреждена. База данных WordPress может быть повреждена из-за ряда причин, таких как установка неисправного или несовместимого плагина. Другая вероятная причина может заключаться в том, что сервер, на котором размещена ваша база данных, может быть временно недоступен.
Вот некоторые из возможных причин, которые могли вызвать ошибку. Теперь, когда вы знаете, что это за ошибка и чем она могла быть вызвана, давайте попробуем исправить эту ошибку и восстановить работу вашего сайта в сети.
Как исправить ошибку при установлении ошибки подключения к базе данных
Прежде чем исправлять ошибку, нам нужно точно определить ее причину.
Способ 1. Восстановление базы данных
Сначала нам нужно проверить, в порядке ли наша база данных. Если вы нормально видите свой сайт и получаете сообщение об ошибке при попытке доступа к странице wp-admin или получаете другое сообщение об ошибке «Одна или несколько таблиц базы данных недоступны. Возможно, базу данных необходимо восстановить». когда вы пытаетесь получить доступ к своему сайту, это явные признаки того, что ваша база данных повреждена. К счастью, вашу базу данных можно легко восстановить с помощью встроенной функции WordPress.
По умолчанию эта функция отключена, поэтому вам нужно включить ее самостоятельно, чтобы восстановить базу данных, зайдя в файл wp-admin.php и добавив следующий код:
Ошибка Восстановить и оптимизировать занимает больше времени, чем простая опция Восстановить, поэтому, если у вас мало времени, просто выберите первый вариант.
Еще одна важная вещь, о которой следует помнить, это то, что страница восстановления, которую вы только что открыли после помещения строки кода в файл wp-admin.php, не является безопасной; так как любой может получить доступ к этому URL-адресу без необходимости входа в систему. Поэтому убедитесь, что вы удалили эту небольшую строку кода из файла wp-admin.php, который вы добавили ранее после того, как успешно восстановили свой сайт. Это гарантирует, что в будущем никто не будет возиться с параметрами вашей базы данных.
Способ 2. Изменение учетных данных для входа
По-прежнему не удается успешно открыть веб-сайт даже после восстановления базы данных? Возможно, вы захотите взглянуть на настройки входа в базу данных в файле wp-config. Ваши учетные данные для входа в базу данных могли перестать работать, поскольку вы могли изменить хостинговую компанию или какую-то полезную информацию о своей базе данных, которая не была обновлена вручную в файле wp-config.
Откройте файл wp-config еще раз, как и раньше, и найдите информацию для входа в базу данных; он, вероятно, будет в верхней части файла.
Он показывает имя базы данных как «DB_NAME», имя пользователя для входа в систему как «DB_USER», пароль для входа как «DB_PASSWORD» и хост базы данных как «DB_HOST». Проверив всю эту информацию, убедитесь, что все верно, так как WordPress не сможет подключиться к базе данных, если какое-либо из этих значений неверно.
Вы можете проверить свою базу данных вне WordPress с помощью PHPMyAdmin, который в основном представляет собой инструмент для доступа и редактирования баз данных MySQL. Но будьте осторожны при использовании этого инструмента, так как он имеет дело непосредственно с базой данных вашего сайта — велика вероятность того, что вы все испортите.
- После входа в свою учетную запись PHPMyAdmin щелкните свою базу данных в списке баз данных на вашем сервере. Убедитесь, что вы выбрали тот, который соответствует имени в файле wp-config, который вы только что проверили.
- Нажав на название базы данных, вы увидите множество имен таблиц в базе данных. Чтобы убедиться, что имя базы данных указано правильно, найдите таблицу с именем wp_options и нажмите кнопку Обзор рядом с ней.
- Вы перейдете на страницу, где сможете увидеть название, URL-адрес и другие общие настройки вашего веб-сайта WordPress. Убедитесь, что он такой же, как в файле wp-config, который вы видели ранее. Однако если это не так, исправьте это в файле wp-config, прежде чем продолжить.
Настало имя базы данных. Переходя к паролю и имени пользователя, есть несколько способов проверить их правильность. Один из способов — проверить правильность уже существующих имени пользователя и пароля для входа в систему — создать простой файл .php, который проверит, можете ли вы подключиться к базе данных, используя учетные данные для входа из файл wp-config или существующее имя пользователя и пароль для входа. Для тестирования просто создайте файл .php, назовите его как угодно и добавьте в него этот код:
Чтобы создать нового пользователя и пароль для базы данных, нам потребуется другой инструмент, доступный в cPanel, который называется Базы данных MySQL. Просто нажмите на него и под заголовком Пользователи MySQL нажмите Добавить нового пользователя. Вы перейдете на новую страницу, которая запросит у вас новые учетные данные для входа.
Выбрав имя пользователя и пароль, запишите их в файле wp-config. Нажмите Создать пользователя, чтобы продолжить. На следующем экране нажмите Добавить пользователя в базу данных, выберите новое имя пользователя и базу данных WordPress и нажмите Добавить.
После добавления нового пользователя в базу данных просто обновите файл wp-config, указав новое имя пользователя и пароль. Это гарантирует 100% правильность имени базы данных, пароля и имени пользователя.
Способ 3: исправить поврежденные файлы
Если полное устранение неполадок в вашей базе данных даже не работает, последнее, что вы можете попробовать, — это исправить все поврежденные файлы в WordPress. Многие пользователи, которым не удалось определить основную проблему, полностью стерли все свои файлы, и ошибка исчезла. Это именно то, что мы собираемся сделать сейчас, поскольку ошибка может быть связана с поврежденными файлами WordPress.
Тем не менее, поскольку мы говорим об основных системных файлах, вам нужно быть очень осторожным. Малейшая ошибка может стереть весь ваш сайт. Прежде чем мы продолжим, лучше всего сделать резервную копию всех ваших данных вручную или с помощью плагина. Следующее, что нам нужно, это новые, свежие файлы WordPress, чтобы заменить старые поврежденные файлы, которые вызывают у нас проблемы.
Это заменит поврежденные файлы или файлы, вызывающие ошибку. Следуя этим простым шагам, вы сможете легко исправить ошибку Ошибка установления соединения с базой данных. Перезагрузите страницу, когда закончите, и все готово к работе.
Если вы следовали всему руководству по порядку (и правильно) и проблема все еще не устранена, следующим логическим шагом будет обращение к представителям службы поддержки клиентов вашей службы веб-хостинга, поскольку вполне возможно, что ошибка возникает на стороне сервера. . Не забудьте сообщить представителю службы поддержки о мерах, которые вы предприняли для решения проблемы.
Подведение итогов
Эта ошибка при установлении соединения с базой данных — одна из самых неприятных ошибок, с которыми вы можете столкнуться на своем веб-сайте WordPress. Существует несколько различных возможных основных причин этой ошибки, что затрудняет ее выявление и устранение.
Мы рассмотрели некоторые наиболее вероятные причины этой ошибки и познакомили вас с тремя простыми способами ее устранения. Если вы будете тщательно следовать шагам, описанным в этом руководстве, ваш сайт будет запущен и запущен в кратчайшие сроки.
Удалось ли вам определить и исправить ошибку Ошибка установления соединения с базой данных на вашем веб-сайте WordPress? Какой метод сработал для вас? Мы хотели бы услышать о вашем опыте, поэтому сообщите нам об этом в разделе комментариев ниже!
Похожие сообщения
О Рафае Ансари
Рафай — предприниматель, ученый-компьютерщик и профессиональный писатель-призрак для нескольких веб-сайтов с высокой посещаемостью.
В этом разделе описывается, как использовать myisamchk для таблиц MyISAM (расширения .MYI и .MYD ).
Вы также можете использовать операторы CHECK TABLE и REPAIR TABLE для проверки и восстановления таблиц MyISAM. См. Оператор CHECK TABLE и Оператор REPAIR TABLE.
Симптомы поврежденных таблиц включают неожиданное прерывание запросов и наблюдаемые ошибки, такие как следующие:
tbl_name .frm заблокирован от изменений
Не удается найти файл tbl_name .MYI (код ошибки: nnn )
Неожиданный конец файла
Файл записи поврежден
Получена ошибка nnn от обработчика таблицы
Чтобы получить дополнительную информацию об ошибке, запустите perror nnn , где nnn – номер ошибки. В следующем примере показано, как использовать perror для поиска значений наиболее распространенных номеров ошибок, указывающих на проблему с таблицей:
Обратите внимание, что ошибка 135 (больше места в файле записи) и ошибка 136 (больше места в индексном файле) не являются ошибками, которые можно исправить простым восстановлением. В этом случае вы должны использовать ALTER TABLE, чтобы увеличить значения параметров таблицы MAX_ROWS и AVG_ROW_LENGTH:
Если вы не знаете значения параметров текущей таблицы, используйте SHOW CREATE TABLE .
В случае других ошибок вы должны исправить свои таблицы. myisamchk обычно может обнаруживать и устранять большинство возникающих проблем.
Процесс ремонта включает до четырех этапов, описанных здесь. Прежде чем начать, вы должны изменить местоположение на каталог базы данных и проверить права доступа к файлам таблиц. В Unix убедитесь, что они доступны для чтения пользователю, от имени которого работает mysqld (и вам, потому что вам нужен доступ к проверяемым файлам). Если окажется, что вам нужно изменить файлы, вы также должны иметь право на запись в них.
Этот раздел предназначен для случаев, когда проверка таблицы не удалась (например, описанные в разделе 1.6.2, «Как проверить таблицы MyISAM на наличие ошибок»), или вы хотите использовать расширенные функции, предоставляемые myisamchk. р>
Параметры myisamchk, используемые для обслуживания таблиц, описаны в myisamchk — утилите обслуживания таблиц MyISAM. myisamchk также имеет переменные, которые вы можете установить для управления распределением памяти, что может повысить производительность. См. Использование памяти myisamchk.
Если вы собираетесь восстанавливать таблицу из командной строки, вы должны сначала остановить сервер mysqld. Обратите внимание, что когда вы выполняете завершение работы mysqladmin на удаленном сервере, сервер mysqld по-прежнему доступен некоторое время после возврата mysqladmin, пока не будет остановлена вся обработка операторов и все изменения индекса не будут сброшены на диск.
Этап 1. Проверка таблиц
Запустите myisamchk *.MYI или myisamchk -e *.MYI, если у вас есть больше времени. Используйте параметр -s (без звука), чтобы скрыть ненужную информацию.
Если сервер mysqld остановлен, вы должны использовать параметр --update-state, чтобы указать myisamchk пометить таблицу как «отмеченную». ”
Вы должны восстановить только те таблицы, для которых myisamchk сообщает об ошибке. Для таких таблиц перейдите к этапу 2.
Если при проверке возникают непредвиденные ошибки (например, ошибки нехватки памяти) или происходит сбой myisamchk, перейдите к этапу 3.
Этап 2. Простой безопасный ремонт
Сделайте резервную копию файла данных, прежде чем продолжить.
Используйте myisamchk -r имя_таблицы ( -r означает «режим восстановления»). Это удаляет неверные строки и удаленные строки из файла данных и восстанавливает индексный файл.
Если предыдущий шаг не удался, используйте myisamchk --safe-recover tbl_name . В безопасном режиме восстановления используется старый метод восстановления, который обрабатывает несколько случаев, которые не делает обычный режим восстановления (но работает медленнее).
Если вы хотите, чтобы операция восстановления выполнялась намного быстрее, вы должны установить значения переменных sort_buffer_size и key_buffer_size примерно на 25% доступной памяти при запуске myisamchk .
Если при восстановлении возникают непредвиденные ошибки (например, ошибки нехватки памяти) или происходит сбой myisamchk, перейдите к этапу 3.
Этап 3. Сложный ремонт
Вы должны достичь этого этапа только в том случае, если первый блок размером 16 КБ в файле индекса уничтожен или содержит неверную информацию, или если файл индекса отсутствует. В этом случае необходимо создать новый индексный файл. Сделайте это следующим образом:
Переместите файл данных в безопасное место.
Используйте файл описания таблицы для создания новых (пустых) файлов данных и индексов:
Скопируйте старый файл данных обратно во вновь созданный файл данных. (Не просто перемещайте старый файл обратно в новый файл. Вы хотите сохранить копию на случай, если что-то пойдет не так.)
Если вы используете репликацию, ее следует остановить перед выполнением описанной выше процедуры, так как она включает операции с файловой системой, а MySQL не регистрирует их.
Вернитесь к этапу 2. myisamchk -r -q должно работать. (Это не должно быть бесконечным циклом.)
Вы также можете использовать инструкцию REPAIR TABLE tbl_name USE_FRM SQL, которая автоматически выполняет всю процедуру. Также отсутствует возможность нежелательного взаимодействия между утилитой и сервером, потому что сервер выполняет всю работу, когда вы используете REPAIR TABLE. См. Заявление REPAIR TABLE.
Этап 4. Очень сложный ремонт
Вы должны достичь этого этапа только в том случае, если произошел сбой файла описания .frm. Этого никогда не должно происходить, потому что файл описания не изменяется после создания таблицы:
Восстановите файл описания из резервной копии и вернитесь к этапу 3. Вы также можете восстановить файл индекса и вернуться к этапу 2. В последнем случае вы должны начать с myisamchk -r .
Если у вас нет резервной копии, но вы точно знаете, как была создана таблица, создайте копию таблицы в другой базе данных. Удалите новый файл данных, а затем переместите файлы описания .frm и индексные файлы .MYI из другой базы данных в базу данных, в которой произошел сбой. Это дает вам новые файлы описания и индекса, но оставляет файл данных .MYD в покое. Вернитесь к этапу 2 и попытайтесь восстановить файл индекса.
Читайте также: