Не могу выбрать базу данных причина ошибки
Содержание статьи
Ошибка установки соединения с базой данных: причина, исправление
Занимаясь разработкой собственного сайта, мы часто сталкиваемся с ошибками установки соединения с базой данных, внутренними неполадками сервера и т.д. Все это пугающе действует на новичка. Даже опытные блогеры с трудом справляются с похожими проблемами. Но не стоит паниковать. Чаще такие проблемы решаются в два счета.
WordPress
Одна из наиболее популярных систем управления «начинкой» ресурса. На платформе WordPress появляются мелкие блоги и крупные проекты. Ошибка установки соединения с базой данных происходит именно с этой CMS.
Написан WP на скриптовом языке общего назначения PHP. Сервером БД (база данных) служит MySQL. Впервые CMS появилась в 2003 году и сейчас имеет версию 4.8.1. Преимуществами WordPress считаются простота в управлении контентом, большое количество дополнительных инструментов — тем и плагинов.
Содержание
Прежде чем понять, как избавиться от ошибки установки соединения с базой данных WordPress, важно рассмотреть строение системы. Любой ресурс на основе этой CMS основан на двух важных элементах. Речь идет о программных файлах и БД.
Первые находятся на хостинге, куда можно попасть по запросу через FTP. Вторые хранятся на хостинге в отдельном секторе. Для перехода необходимо скачать специальный сервис. Популярностью пользуется PhpMyAdmin.
Если программным документам нужна дополнительная информация, они переходят в БД, используя материалы оттуда. Далее отображают страницу ресурса корректно.
Чтобы путь к хранилищу был правильным, нужен доступ. Под ним подразумевают имя пользователя и шифр, которые были установлены во время начальной настройки ресурса. Хранится эта информация в главной папке ресурса.
При обнаружении ошибки установки соединения с базой данных становится понятно, что у программных документов нет возможности попасть в БД и корректно отобразить страницу.
Проверка
Прежде чем решать эту проблему, нужно осуществить пару проверочных действий, которые помогут выявить причину ошибки.
Для начала придется проверить, есть ли вообще база данных. Для этого достаточно перейти к панели, на которой есть инструменты для управления хостингом. У каждого к ней есть доступ, если куплен хостинг. Далее переходим в меню к разделу с хранилищем. На панели этот пункт так и называется «База данных». Достаточно перейти сюда и удостовериться в том, что там не пусто.
Если вы видите, что есть набор файлов или папка, далее проверяем, наполнена ли она: есть ли в ней дополнительные записи, таблицы и другие материалы. Возможно, база данных пустая и не содержит дополнительную информацию. Чтобы это проверить, выполняем действия, которые делают программные файлы.
Используем сервис PhpMyAdmin, вводим логин и пароль. Если вы не можете определить, пустая ли база, посмотрите на её вес и содержимое. Обычно должны быть таблицы и записи, а объем папки может быть от Кб.
Вышеописанный процесс может указать вам на следующую ошибку. При вводе логина и пароля не получается войти в хранилище. Возможно, вы вводите неверные данные либо вы сменили их и забыли. Проверьте, не переключили ли вы язык и не вводите ли шифр другими буквами. Тогда попробуйте вернуться к настройке хранилища и выбрать другой пароль. Не забудьте изменить его и в документе с конфигурацией.
Почему?
Интересно, что ошибка установки соединения с базой данных появляется и вместе с транспортировкой ресурса. Причем возникает неполадка с вероятностью 99%. Если ресурс уже был установлен на хостинг, а неполадка возникла, то может быть ряд других причин.
К примеру, удалили пользователя, под именем которого происходило соединение, изменили шифр или MySQL была отправлена на специальный сервер. Бывает, что проблема возникает не по вашей вине, а из-за хостера. В этом случае достаточно написать ему и сообщить о проблеме. Он также предоставит дополнительную информацию и укажет решение.
Частичная проблема
Иногда подобная неприятность возникает частично. В хранилище пропали определенные таблицы или стали недоступны. Чтобы убедиться в точности этой неполадки, достаточно перейти в панель администратора. При повторном возникновении проблемы нужно проверять БД.
Чтобы восстановить её, переходим к файлику wp-config.php. Сюда нужно внести дополнительную команду: define(‘WP_ALLOW_REPAIR’, true);. Теперь нужно перейти в специальное меню site.com/wp-admin/maint/repair.php. На месте site.com указываете ваш ресурс. После появится окно с восстановлением.
В нем желательно выбрать не просто восстановление, но и оптимизацию. Процесс занимает несколько минут. После завершения необходимо будет убрать команду из файла wp-config.php.
Транспортировка
Возможно, со временем вы решили перенести блог с Denwer. Ошибка установки соединения с базой данных появляется при некорректности файла wp-config.php. Здесь нужно указывать конфигурацию, нужную для соединения с БД.
Открыв этот документ, важно внимательно присмотреться к показателям, которые там имеются. Чаще всего имя пользователя и базы данных одинаково. Оно появляется при регистрации на хостинге. Тут же есть и пароль. Все это нужно сохранять при переносе ресурса с разных сервисов, в том числе и Openserver.
Ошибка установки соединения с базой данных исключена, если все личные данные вы сохраните навсегда. Также важно не перепутать пароль БД и «админки». Их вы также устанавливаете отдельно, и желательно, чтобы они были разные.
Тест
Если все правильно, а ошибка по-прежнему не исправлена, нужно протестировать работоспособность БД. Для этого создается специальный тестовый файл. Его конфигурация может несколько отличаться, поэтому желательно самостоятельно для себя подобрать команды. Такой test.php поможет запустить нам проверку системы.
После того как вы заполните документ, нужно перейти на site.com/test.php. При успешном подключении становится понятно, что хостинг работает корректно. Точно так же все хорошо с паролем и именем пользователя.
Если тест выдает, что вы используете некорректное имя или шифр, значит придется отправиться в панель и поменять данные. Если же вы и вовсе не смогли «законнектиться», то проблема на сервере. Тут дело проще. Подождите какое-то время либо обратитесь в службу поддержки хостинга.
Выводы
Похожие неполадки случаются со многими хостерами, в том числе и с web. Ошибка установки соединения с базой данных может быть вызвана и перебоями на сервере, а может быть связана с некорректным обращением пользователя. Поэтому, если вы решили перенести свой блог с локального компьютера или сервиса на хостинг, при регистрации внимательно сохраняйте все данные, которые вводите, чтобы после не пришлось восстанавливать их.
Источник
Что делать при ошибках базы данных MySQL
Здравствуйте!
Сегодняшняя заметка будет касаться только достаточно «узкой» категории читателей блога — речь пойдет о базах данных MySQL (и ошибках, при работе с ними…).
Вообще, подобные базы данных используются многими движками сайтов (CMS), причем некоторые из них не блещут высокой безопасностью… Кроме этого, к базе MySQL возможен прямой доступ через веб-интерфейс. А если добавить к этому ошибки при копировании и переносе БД (что бывает очень часто), то, разумеется, всё это вкупе создает определенные риски для данных… ????
Собственно, ниже рассмотрим, что можно сделать, если появилась-таки ошибка, что база данных недоступна (или не может быть прочитана, или…). Заранее скажу, что подобные ошибки далеко не всегда означает полную утрату БД, во многих случаях удается сравнительно-легко восстановить работоспособность сайта (интернет-магазина, и пр.).
И так…
*
Несколько рекомендаций, если возникла ошибка с MySQL БД
???? Совет 1
Если вы накануне никак не взаимодействовали с БД (например, не переносили сайт с одного сервера на другой), и всё работало в штатном режиме — возможно, что ошибка недоступности к базе связана с возникшими проблемами на стороне хостинг-компании (⇒ запрос в поддержку…).
Кроме этого, обратите внимание на конфигурационные файлы CMS, отвечающие за доступ к базе данных. Возможно, что с самой БД всё в порядке, а вот путь (или пароль) для доступа к ней указан некорректно…
Например, в такой популярной CMS как WordPress, файлом для настройки доступа к БД явл. wp-config.php.
Параметры MySQL — эту информацию можно получить у хостинг-провайдера
*
???? Совет 2
Еще одна довольно очевидная рекомендация — проверить наличие бэкапа (резервной копии). Даже если вы самостоятельно не делали его — возможно его сделал хостинг-провайдер.
Кроме этого, как только возникла какая-то ошибка с БД — я бы порекомендовал в любом случае сделать ее копию (если это возможно). Вдруг диск начал «сыпаться», и в дальнейшем даже текущая БД исчезнет «на совсем»…
PHP My Admin — экспорт базы данных
*
???? Совет 3
Далее следует попробовать провести восстановление БД встроенными средствами MySQL…
Итак, что нужно сделать в случае, если БД MySQL перестала запускаться:
- Откройте файл my.cnf и установите следующий параметр: innodb_force_recovery = 1;
- Перезапустите MySQL следующей командой: /etc/init.d/mysql restart;
- Сделайте дамп БД и запакуйте его: mysqldump db | gzip > db.sql.gz;
- Создайте новую БД: mysql -e create database «new_DB»;
- Импортируйте туда данные: zcat database.sql.gz | mysql new_DB.
***
???? Примечание!
my.cnf — это файл конфигурации MySQL. Чтобы найти файл, используйте команду: locate my.cnf
В Linux’e обычно он находится по такому пути:
/etc/my.cnf
# либо
/etc/mysql/my.cnf
***
Перезапуск MySQL подобным образом не ведет к запуску всех связанных процессов и в некоторых случаях позволяет открыть старую БД.
С помощью указанных команд мы пробуем создать дамп БД, затем импортировать его в новую базу, которую далее можно будет открыть обычным способом.
Если это получается, старую БД можно удалить. Кстати, если способ не помогает, и старая база не запускается, нужно пробовать другие значения параметра innodb_force_recovery, вплоть до 6.
MySQL
При нормальном запуске БД система пытается запустить все процессы, включая и те, которые были завершены аварийно (например, из-за проблем с электричеством).
Благодаря опции innodb_force_recovery можно отключить некоторые параметры, которые мешают штатному запуску БД.
Цифры означают следующее:
- Запуск MySQL не останавливается, даже если система в процессе запуска обнаруживает поврежденные страницы;
- Отмена запуска фоновых операций;
- Отмена попыток отката транзакций;
- Отказ от расчета статистики и использования сохраненных изменений;
- Не учитывает логи отката при запуске;
- Не учитывает параметры ib_logfiles во время запуска.
*
???? Совет 4 (альтернативный способ восстановления БД)
Описанный выше способ довольно эффективен, хотя, к сожалению, может оказаться сложным для некоторых пользователей. Но работа с любым форматом базы данных — это всегда непросто…
Если нет желания редактировать конфиги, открывать командную строку и изучать синтаксис нужных команд, то нужен достаточно простой и дружелюбный в использовании инструмент, например, такой как Recovery Toolbox for MySQL. (????)
Recovery Toolbox for MySQL — скриншот главного окна программы
Пожалуй, это самый простой и эффективный способ восстановления БД MySQL, именно то, что нужно большинству начинающих пользователей. ????
Вариантов, собственно, немного — разобраться со всем самому, потратив несколько дней, или в течение часа восстановить базу данных, продолжить работу и избежать убытков.
Стоит сразу отметить, что Recovery Toolbox for MySQL работает только с копией базы, поэтому никогда не испортит то, что осталось от старой БД. Почувствуйте разницу, копаясь в конфигах и настройках «боевого» сервера, и каждую минуту опасаясь сделать что-то неправильно, что приведет к полному уничтожению того, что еще осталось…
*
???? Как восстановить базу с помощью Recovery Toolbox for MySQL:
Для восстановления поврежденной БД MySQL при помощи этой программы нужно сделать следующее:
- Скачать Recovery Toolbox for MySQL с офиц. сайта: https://mysql.recoverytoolbox.com/ru/;
- Установить и запустить программу;
- Выбрать папку, в которой хранятся файлы поврежденной базы данных MySQL (предварительно создайте копию);
- Выбрать поврежденную базу данных из списка
- Запустить анализ выбранной БД;
- Просмотреть результаты восстановления: таблицы, объекты, индексы;
- Настроить способ сохранения восстановленных данных;
- Сохранить данные (доступно в полной версии). Пример на скриншоте ниже. ????
Пример восстановления БД
Программа загружается совершенно бесплатно и устанавливается без регистрации. С помощью Recovery Toolbox for MySQL можно бесплатно просматривать восстановленные данные, оценивать эффективность работы.
Можно даже подсмотреть какие-то изменения и легко внести их руками в «протухший», но еще пригодный к использованию бэкап. Заплатить предложат только в том случае, если потребуется сохранить восстановленные данные, пересоздать базу MySQL и подключить ее к системе.
База восстановлена — сохранить?
*
???? «Пару слов» о безопасности при работе с Recovery Toolbox for MySQL
Самое главное — программа всегда работает только с копией исходной базы, поэтому этот способ восстановления намного надежнее, чем вносить изменения в конфиги БД и смотреть, что из этого получится. Помните, попытка ремонта БД на «продакшн» сервере может окончательно добить ее, такое бывает даже у опытных админов…
Также стоит отметить, что Recovery Toolbox for MySQL не использует сторонние подключения. В процессе восстановления (может занять довольно продолжительное время, в зависимости от размеров исходной базы данных) ПО не использует доступ к Интернет.
Проконтролировать отсутствие подозрительных подключений можно разными способами, самым простым из которых является физическое отключение сетевого кабеля.
Есть способ чуть сложнее: установить анализатор сетевого траффика (советую WireShark, NetLimiter) и проверить, не идут ли подозрительные пакеты от Recovery Toolbox for MySQL.
???? В помощь!
Как запретить программе доступ к интернету (блокировка входящего/исходящего трафика)
Конечно, этот способ предполагает некий здоровый энтузиазм, желание познать новое (мануалы на WireShark совсем немаленькие) и, самое главное, наличие свободного времени…
*
Дополнения по теме — не помешают!
Всем успехов!
????
Пост по заметкам
от компании Recovery Toolbox
Полезный софт:
- Видео-Монтаж
Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
Видео сделает даже новичок!
- Ускоритель компьютера
Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).
Источник
Устранение ошибок единообразия баз данных, о них сообщила проверка DBCC
- 09/25/2020
- Чтение занимает 5 мин
В этой статье
В этой статье вводится, как устранять ошибки, о них сообщает команда DBCC CHECKDB.
Исходная версия продукта: SQL Server
Исходный номер КБ: 2015748
Симптомы
При выполнении DBCC CHECKDB (или других аналогичных команд, таких как CHECKTABLE) в SQL Server ERRORLOG:
Дата и время spid53 DBCC CHECKDB (mydb), выполненные MYDOMAINtheuser, обнаружили 15 ошибок и восстановлены. Время: 0 часов 0 минут 0 секунд. Моментальный снимок внутренней базы данных имеет разделенную точку LSN = 00000026:0000089d:0001 и первое LSN = 00000026:0000089c:0001. Это только информационное сообщение. Никаких действий пользователя не требуется.
В этом сообщении показано, сколько ошибок единообразия базы данных было найдено и сколько было восстановлено (если с командой использовался параметр восстановления). Это сообщение также записи в журнал событий приложений Windows в качестве сообщения уровня информации с eventID=8957 (даже если сообщение об ошибках сообщается как сообщение информационного уровня).
Информация в сообщении начинается со слова «внутренний снимок базы данных…». Отображается только в том случае, если база данных DBCC CHECKDB была в сети, в которой база данных не находится в _USER режиме. Это необходимо, потому что для сетевой базы данных DBCC CHECKDB внутренний снимок базы данных используется для создания согласованного набора данных для проверки.
В этой статье не будет рассмотрено, как устранить каждую конкретную ошибку, сообщаемую DBCC CHECKDB, а общий подход в случае сообщений об ошибках. Любая ссылка на CHECKDB в этой статье также применима и DBCC CHECKTABLE CHECKFILEGROUP не заявима.
Причина
DBCC CHECKDB проверяет физическую и логическую согласованность страниц базы данных, строк, страниц выделения, связей индексов, целостности системной таблицы и других проверок структуры. Если какие-либо из этих проверок не будут с ошибками (в зависимости от выбранных параметров), в команде будут выявиться ошибки.
Причины этих проблем могут отличаться в зависимости от повреждения файловой системы, связанных с аппаратным обеспечением, проблем с драйверами, поврежденных страниц в памяти или проблем с SQL Server Engine. Дополнительные сведения о том, как найти причину сообщений об ошибках, можно найти в разделе «Решение».
Решение
Первое, лучшее решение, если DBCC CHECKDB сообщает об ошибках согласованности, — это восстановление из известной хорошей резервной копии. Однако если восстановление из резервной копии невозможно, функция CHECKDB предоставляет функцию для устранения ошибок. Если проблемы системного уровня, такие как файловая система или оборудование, могут быть причиной этих проблем, рекомендуется сначала исправить их перед восстановлением или запуском восстановления.
При запуске DBCC CHECKDB предоставляется рекомендация, которая указывает минимальный параметр восстановления, необходимый для устранения всех ошибок. Эти сообщения могут выглядеть следующим образом:
CHECKDB обнаружил 0 ошибок выделения и 15 ошибок согласованности в базе данных «mydb».
repair_allow_data_loss это минимальный уровень восстановления ошибок, найденных в DBCC CHECKDB (mydb).
Рекомендация по восстановлению — это минимальный уровень восстановления для устранения всех ошибок в CHECKDB. Это не означает, что этот параметр восстановления фактически исправит все ошибки. Кроме того, не для всех сообщений об ошибках может потребоваться этот уровень восстановления для устранения ошибки. Это означает, что не все ошибки, о которые сообщает CHECKDB, когда это repair_allow_data_loss рекомендуется, будут привести к потере данных. Необходимо выполнить восстановление, чтобы определить, приведет ли разрешение ошибки к потере данных. Один из способов сузить уровень восстановления для каждой таблицы — использовать DBCC CHECKTABLE для любой таблицы, сообщая об ошибке. Здесь будет отдано минимальное количество восстановлений для заданной таблицы.
Чтобы найти причину возникновения ошибок согласованности базы данных, рассмотрите указанные здесь методы.
- Проверьте журнал системных событий Windows на все системные ошибки, связанные с драйвером или диском.
- Проверьте целостность файловой системы с помощью chkdsk.
- Запустите диагностику, предоставляемую изготовителями оборудования для компьютера и/или дисковой системы.
- Работайте с поставщиком оборудования или изготовителем устройства, чтобы обеспечить:
- Аппаратные устройства и конфигурация подтверждают требования к Microsoft SQL Server ввода и вывода яда баз данных.
- Обновляются драйверы устройств и другие вспомогательные программные компоненты всех устройств в пути к I/O
- Рассмотрите возможность использования такой совмести, как SQLIOSim, на том же диске, что и базы данных, которые сообщили об ошибках согласованности. SQLIOSim — это средство, независимое от SQL Server Engine, для проверки целостности I/O для дисковой системы. SQLIOSim SQL Server 2008 и не требует отдельной загрузки.
- Проверьте все другие ошибки, о SQL Server таких как нарушения доступа или утверждения.
- Убедитесь, что в базах данных используется PAGE_VERIFY CHECKSUM этот параметр. Если сообщается об ошибках контрольных контрольных объемов, это индикаторы того, что ошибки согласованности произошли после того, как SQL Server на диск записаны страницы, чтобы дисковая система была тщательно проверена, дополнительные сведения об ошибках контрольных объемов см. в подсистеме устранения неполадок Msg 824 в SQL Server.
- Найди ошибки Msg 832 в ERRORLOG. Это индикаторы того, что страницы могут быть повреждены, пока они находятся в кэше, прежде чем они будут записаны на диск. Дополнительные сведения см. в SQL Server msg 832.
- Попробуйте восстановить «чистую» резервную копию базы данных (без ошибок из CHECKDB) и резервные копии журнала транзакций, которые охватывают время, когда произошла ошибка. Если вы можете «повторить» эту проблему, восстановив «чистую» резервную копию базы данных и журналы транзакций, обратитесь за помощью в службу технической поддержки Майкрософт.
- Ошибки , которые могут быть проблемой при вставке приложения или обновлении недопустимых данных в таблицы SQL Server данных. Дополнительные сведения об устранении неполадок, которые могут быть допущены при утечке данных, см. в подсети DBCC Error 2570 в SQL Server 2005.
Дополнительная информация
Подробные сведения о синтаксисе DBCC CHECKDB и сведения/параметры выполнения команды см. в DBCC CHECKDB (Transact-SQL).
При обнаружении ошибок с помощью CHECKDB дополнительные сообщения, такие как следующие, будут отобралены в ERRORLOG для создания отчетов об ошибках:
/ spid53 Using ‘dbghelp.dll’ version ‘4.0.5’
/ spid53 **Dump thread — spid = 0, EC = 0x00000000855F5EB0
/ spid53 **_Stack Dump being sent toFilePathFileName
/ spid53 _ *
/ spid53 *
Дата и время spid53 * BEGIN STACK DUMP:
/ spid53 * /spid 53
/ spid53 *
/ spid53 * DBCC database corruption
/spid53 *
/ spid53 * Input Buffer 84 bytes —
/ spid53 * dbcc checkdb(mydb)
/ spid53 *
/ spid53 * **
Дата и время spid53 * ——————————————————————————-
/ spid53 * Short Stack Dump
/ spid53 Stack ature for the dump is 0x00000000000001E8
Код возврата процесса внешнего дампа spid53 даты и времени 0x20002001.
Сведения об ошибке были отправлены в отчет об ошибках Watson.
Файлы, используемые для отчетов об ошибках, включают <nnn> TXT-файл SQLDump. Этот файл может быть полезен для исторических целей, так как содержит список ошибок, найденных в CHECKDB в формате XML.
Чтобы узнать, когда DBCC CHECKDB в последний раз запускался без ошибок, обнаруженных для базы данных (последняя известная очистка CHECKDB), проверьте в журнале SQL Server ERRORLOG следующее сообщение для базы данных или системной базы данных (это сообщение записано как сообщение уровня информации в журнале событий приложений Windows с eventID = 17573):
/ spid7s CHECKDB for database ‘master’ finished without errors on/22:11:11.417 (local ). Это только информационное сообщение; никаких действий пользователя не требуется
Источник