Database error unable to connect to the database could not connect to mysql перевод

[Решено] Unable to connect to the database:Could not connect to MySQL - Joomla 1.5: Установка и обновление

0 Пользователей и 1 Гость просматривают эту тему.

  • 82 Ответов
  • 160549 Просмотров

Не могу подключиться к базе данных. Номер ошибки: Unable to connect to the database:Could not connect to MySQL
как быть?

« Последнее редактирование: 30.05.2010, 15:24:16 от 4webspot »

Записан

Проверьте параметры доступа к базе данных. Скорее всего неправильно вводите имя пользователя БД или его пароль. Так же проверьте имя сервера, на котором установлена БД.

Записан

Я.д.=41001239962471  |  WMR=R271925495206  |  WMZ=Z144922023512

Не могу подключиться к базе данных. Номер ошибки: Unable to connect to the database:Could not connect to MySQL ! ! !
ОШИБКА ВЫЛАЗИТ

а где взять

-Тип базы данных
-Название хоста
-Имя пользователя
-Пороль
-Имя базы данных?

тип mySQL
 название хоста localhost
 остальное можете узнать у хостера

подставляете это всё в configuration.php и вуаля!!

« Последнее редактирование: 11.11.2009, 13:03:12 от robotwerder »

Записан

у меня аналогичная проблема, только несколько отличий:
Был сайт на локалхосте, нормально работил решил кинуть его на субдомен, дабы показать оптимизаторам… кинул ничего не установилось (выдавал ошибку internal error 500), проколпачился три ночи — все без толку, гуголь облазил, все перепробовал — хоть бы хны. Но черт с ним…
В это самое время у меня летит денвер, а именно phpmyadmin — не грузится вообще и выдает непонятную ошибку.

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

Залез в файл конфигурации, исправил все как должно быть: тип mysql, пользователь root, база cupboard, пароля нет, префикс jos_ (правда в базе есть еще префикс «bak»… но раньше все работало).

После всех этих возлияний пытаюсь открыть сайт на локале — фиг вам… ОШибка подключения к базе данных — откзываемся видеть ее)-:

Перепроверил все пятнадцать раз п-о-б-у-к-в-е-н-н-о…

Умные люди, скажите, в чем еще может быть проблема? >:(

Для пущей верности вот скрин phpmyadmin

И код файла конфигурации

var $dbtype = ‘mysql’;
var $host = ‘localhost’;
var $user = ‘root’;
var $db = ‘cupboard’;
var $dbprefix = ‘jos_’;

« Последнее редактирование: 13.11.2009, 13:28:18 от SLVetCGL »

Записан

AragornV: саму базу данных и ее пользователя для Joomla создали?

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

всем, у кого возникают проблемы с переносом работающего сайта с локалки на хостинг:

прежде чем обращаться с проблемами, удостоверьтесь, что вы спокойно можете установить и тщательно протестировать вашу версию Joomla с демо данными в тестовую поддиректорию на вашем сервере хостинга

это как минимум подразумевает:

— вы знаете как на хостинге создать пользователя базы данных со всеми правами под вашу Joomla
— вы знаете как на хостинге создать базу данных под вашу Joomla и назначить ей вашего пользователя
— вы знаете какой шаг установки Joomla какого решения и какой информации от вас ждет и приготовили оные перед началом установки

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

Поставил Денвер. Создал БД Joomla, пользователя root. Устанавливаю Joomla.
На странице конфигурирования БД указываю пользователя root и БД Joomla.
Далее выходит эта ошибка:

Как решить эту проблему?

Ребята, извиняюсь, проблему решил.

Ребята, извиняюсь, проблему решил.

сообщите стране как именно решили

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

сообщите стране как именно решили

В БД создал пользователя root:root но из под него Joomla отказывалась конектится к БД.
Попробовал joomla:joomla т.е. любой другой но не root и проблема решилась.

подскажите пожалуйста, где на фтп сервере искать расположение базы данных sql, в какой папке, скопировал на голый хост установку Joomla, установил phpMyAdmin и создал в нем mysql, тока теперь не знаю в какой папке его искать, захожу в корень редактирую файлик «configuration». Начинаю установку Joomla он после настройки «база данных» выдает ошибку «Unable to connect to the database:Could not connect to MySQL» вот потому и возникает вопрос, где находится эта база и чтоб в ней создать пользователя и пароль(если понадобится).

;D Файл БД хостер тебе не отдаст. Этак у него всю базу по аккаунтам растащат.  ;D Зайди в hpMyAdmin и там создай и базу и пользователя. Если конечно хостер за тебя все не создал уже. Тогда в письме регистрации от хостера  эти данные должны быть.

Записан

Жизнь заставила учиться.
В личке на вопросы не отвечаю.

В БД создал пользователя root:root но из под него Joomla отказывалась конектится к БД.
Попробовал joomla:joomla т.е. любой другой но не root и проблема решилась.

Пользователь root создаётся в MySQL автоматически, при установке. Как вы вообще умудрились его создать руками — не понятно :).

Записан

Я.д.=41001239962471  |  WMR=R271925495206  |  WMZ=Z144922023512

подскажите пожалуйста, где на фтп сервере искать расположение базы данных sql, в какой папке, скопировал на голый хост установку Joomla, установил phpMyAdmin и создал в нем mysql, тока теперь не знаю в какой папке его искать, захожу в корень редактирую файлик «configuration». Начинаю установку Joomla он после настройки «база данных» выдает ошибку «Unable to connect to the database:Could not connect to MySQL» вот потому и возникает вопрос, где находится эта база и чтоб в ней создать пользователя и пароль(если понадобится).

Уточните, вы ставите на хостинге или на локальном сервере?

Записан

Я.д.=41001239962471  |  WMR=R271925495206  |  WMZ=Z144922023512

.. Нужна помощь!  :o
Пытался зайти в phpMyAdmin через админ панель хостера, поменял к ней пароль, т.к. забыл старый. Заходил собссно, для того чтобы сделать экспорт БД (бэкап)
Но, т.к. я в этом деле впервые, сайт теперь не работает.
Пишет: Database Error: Unable to connect to the database:Could not connect to MySQL

Какими своими действиями я мог напартачить и что теперь можно сделать?
З,Ы, — База вроде бы на месте осталась — в ней я ничего не трогал.

З.З.Ы.
Всё, разобрался с помощью поиска по форуму. Прошу простить поспешность — паника овладела..
Оказываецо, мой новый пароль к БД не прижился.
В файле configuration.php нашёл старый пароль — его-то обратно и вернул. Всё заработало, но всё же интересно почему он не поменялся на новый? Пробовал его менять в файле напрямую, но он не меняется..

« Последнее редактирование: 15.11.2010, 21:13:32 от TRAFFIC »

Записан

Здравствуйте!У меня похожая проблема, НО пару дней назад при попытке зайти на сайт  — не смогла выдало ошибку Database Error: Unable to connect to the database:Could not connect to MySQL
Пыталась понять в чем дело, но не было времени. Сегодня попыталась зайти на сайт и ЗАШЛА(ничего не меняя!), но через минуты 2 уже опять выдавалась эта ошибка. С чем это может быть связано.Помогите))

…пару дней назад при попытке зайти на сайт  — не смогла выдало ошибку Database Error: Unable to connect to the database:Could not connect to MySQL

… Сегодня попыталась зайти на сайт и ЗАШЛА(ничего не меняя!), но через минуты 2 уже опять выдавалась эта ошибка. С чем это может быть связано….

Seamny,
Ваш сайт удаленный или местный?

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

Прошу прощения, но как это узнать?

я имею в виду, где установлен Ваш сайт: на Вашем личном домашнем компьютере или размещен на платном/бесплатном хостинге?

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

сбросьте нам ссылку на Ваш сайт.

если есть доступ к инструменту базы данных phpmyadmin, попробуйте создать второй аккаунт для суперадминистратора:

INSERT INTO `jos_users`
   (`id`, `name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`,
    `gid`, `registerDate`, `lastvisitDate`)
    VALUES (NULL, ‘Administrator2’, ‘admin2’, ‘your-email@yourdomain.com’,
    ‘d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199’,
    ‘Super Administrator’, 0, 1, 25, ‘0000-00-00 00:00:00’, ‘0000-00-00 00:00:00’);
INSERT INTO `jos_core_acl_aro` VALUES (NULL, ‘users’, LAST_INSERT_ID(), 0, ‘Administrator’, 0);
INSERT INTO `jos_core_acl_groups_aro_map` VALUES (25, », LAST_INSERT_ID());

прогоните этот код в SQL окошке Вашей базы данных и получите второго суперадмина по имени admin2 с паролем secret.

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

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

Когда подставляешь этот код в окошко надо ли заменять какие-нибудь значения на свои?
Если нет, то я прогнала код. Только как проверить работает или нет, если сайт не загружается?

П.С. ссылка www.recipes-cocktails.ru

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

1 с помощью того же phpmyadmin сделайте экспорт базы данных
2 скачайте и установите на личном ПС один из серверов в моей подписи (рекомендую ХАМРР)
3 зайдите в браузере по адресу localhost
4 в открывшейся странице ХАМРР найдите в левой колонке ссылку на phpmyadmin и откройте этот инструмент
5 создайте в нем новую базу данных test
6 на жестком диске зайдите в xampp/htdocs и создайте там папку «joomla» (без кавычек)
7 распакуйте в эту папку «joomla»  архив Joomla 1.5.22
8 в браузере зайдите в localhost/joomla и установите Joomla 1.5.22 с демо данными
— host: localhost
— user: root
— password: оставьте незаполненным
— database: test
9 слегка протестируйте новую местную установку
10 если все ОК, то откройте Ваш местный phpmyadmin и под дробь барабанов импортируйте базу данных, которую Вы экспортировали с удаленного сайта. протестируйте сайт.

если сайт закроется с той же ошибкой базы данных, будет разбираться с базой.
если сайт будет работать на импортированной базе, вывод один — Ваш сайт не виновен, проблема на стороне хостера.

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

Здраствуйте. При установке Joomla Joomla_1.5.22-Stable-Full_Package-Russian, а так же при установке Joomla_1.6.0-Stable-Full_Package.tar дважды столкнулся (4 шаг установки) с ошибкой: Unable to connect to the database:Could not connect to MySQL. По порядку. В начале ставил на денвер Joomla_1.6.0, на 4 шаге установки выпала выше указанная ошибка. Думал, что из-за установленого скайпа, но не знал, как устранить. На следующий день. Попробовал вновь установить, но на всякий случай выключил соединение интернет — и все установилось. Но так как Joomla_1.6.0 не русифицирован, то я решил все переустановить на версию Joomla_1.5.22. По инструкции удалил папку с 1.6.0, создал новую папку и в нее установил 1.5.22, далее при отключеном соединении интернета начал установку и на 4 шаге вновь таже ошибка. Перезагрузил комп повторил и все то же. Наверное гдето сбой в денвере? или? Что делать?

Все решил. Ошибка — чайника. При установке на шаге 4 НЕ НАДО ВВОДИТЬ ПАРОЛЬ, поле пароля должно оставаться пустым, а я вводил. Правдо к решению проблемы пришел — сперва переустановил денвер, затем уже установил Joomla, ну и по ходу установки сообразил че к чему …

на 4 шаге установки Joomla 1.5.22 в topserver застрял. При создании БД пишет Ошибка: Access denied for user ‘root’@’localhost’ (using password: NO). Что делать то?

Проверьте параметры доступа к базе данных. Скорее всего неправильно вводите имя пользователя БД или его пароль. Так же проверьте имя сервера, на котором установлена БД.

Записан

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #

Дак какое имя БД, логин пользователя, хост и пароль надо прописывать? Всевозможные уже имена проверял не получается

Здравствуйте Люди!
я начал только работать с Denwer’ом и Joomla  начал регится и выдают такую же ошибку, а MySQL не установлен его обязательно устанавливать?  если нужно то пожалуйста дайте ссылку на русскую версию)
ну и попросил бы не смеяться надомной)))) 

Спасибо заранее!

В случае неправильной настройки соединения Joomla с БД чаще всего возникают такие ошибки:
Database Error: Unable to connect to the database:Could not connect to MySQL
или
Database Error: Unable to connect to the database:Could not connect to database

Первая означает, что скрипты Joomla не смогли подключиться к серверу баз данных. Проверьте, правильно ли указаны сервер баз данных, пользователь и пароль. Для этого в папке с именем сайта найдите файл configuration.php, откройте его и найдите в нем строки:

var $host = ''; 
var $user = '';
var $password = '';

Значения параметров должны быть такими (указывать внутри кавычек):
$host — localhost,
$user — имя пользователя БД (список созданных пользователей можно посмотреть в разделе «Управление / Управление базами MySql» контрольной панели),
$password — пароль пользователя БД.

Вторая ошибка означает, что либо база данных, которая указана в файле configuration.php для использования Joomla не существует, либо указан неправильный префикс для таблиц. Откройте configuration.php и найдите в нем строки:

var $db = '';<br />
var $dbprefix = '';

Значения параметров должны быть такими (указывать внутри кавычек):
$db — правильно указанное имя существующей базы данных (список созданных баз можно посмотреть в разделе «Управление / Управление базами MySql» контрольной панели),
$dbprefix — в большинстве случаев это «jos_» (если вы не указывали другой префикс при установке движка).

Если все эти настройки указаны правильно, но ошибка все равно возникает, обратитесь в службу технической поддержки, создав заявку в разделе «Техподдержка / Заявки» контрольной панели аккаунта.

Примечания:

  1. Названия параметров в разных версиях Joomla могут отличаться. Например, в старых версиях они назывались так: $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db и т.п.

  2. Если при сохранении исправленного файла вы увидите ошибку записи файла, смените права для файла с текущих на 0644 (это делается с помощью иконки «Сменить права» в файловом менеджере контрольной панели) и заново исправьте файл.

4 февраля, 2023 в 12:31 дп

Здравствуйте! Я перенес работающий сайт с локалки на хостинг (движок Joomla) последней версии 1.5, и через некоторое время получил такое: если коротко в переводе, то «не подключается к базе данных». В PHPmyAdmin сигналит красным сообщение «нет привилегий» рядом с меню «создать базу данных». Связался с хостером, и пока все, что они смогли сделать, это принять заявку на устранение неполадок. Также порекомендовали обновить php до 5.2.2. от 4.4.4 – но проблема пока остается.

Должен сказать, что я никогда не любил Joomla, но послушался знакомого, который расхваливал эту CMS. Скорее всего, переключусь на Вордпресс, где можно свои веб-страницы заставить выглядеть и работать так, как хочется. Одним словом, больше контроля и гибкости.

Вероятно, что-то с правами доступа – не более. Скорее всего, вы неправильно вводите имя пользователя / пароль в базе данных. Возможно, что и имя сервера неправильное. Если дело не в этом, тогда проблема — в хостинге, файлах БД, кэше. Подробнее про матчасть и способах решения — далее.

Что такое Mysql Joomla

Как известно, Joomla – это система управления контентом. Как любая программа этого типа, она использует СУБД Mysql. Это достаточно гибкая система, поддерживающая большое количество таблиц. Работает на всех системах Майкрософт Виндовс и на большинстве платформ Unix. Mysql имеет несколько версий – на данный момент используется версия 8.0.11 или 8.0.22.

СУБД для чайников – штука не простая, так как требуются навыки SQL. Однако благодаря инструменту phpMyAdmin, имеющимся на любом уважающем себя хостинге, работать с Mysql могут все, даже те, кто не знает языка SQL. Одним словом, через phpMyAdmin удается легко администрировать сервер и просматривать базу.

Как решить проблему с ошибкой could not connect to mysql

Существует несколько способов решения ошибки unable to connect to the database: could not connect to mysql, которые зависят от конкретной причины ошибки.

Проверка базы данных через локальный сервер

Для начала сделайте экспорт БД – то есть, извлекаете содержимое из Mysql на свой ПК. В файловом менеджере хостера должна быть кнопка возле нужной базы данных «Экспорт». Жмете ее, выделяете все таблицы и экспортируете.

Дальнейшие действия:

  • скачайте и установите на компьютер бесплатный локальный сервер ХАМРР – подробнее о том, как это сделать;
  • зайдите через браузер в сервер и кликните на phpmyadmin;

Бесплатный локальный сервер ХАМРР

  • создайте новую базу и назовите файл test.php, any.php или как-то еще;
  • зайдите в локалку через жесткий диск и создайте там папку с названием joomla и распакуйте в эту папку новую версию CMS 1.5.22;
  • установите движок в браузере и заполните демо данные как на скрине;

Как настроить ХАМРР

  • теперь откройте phpmyadmin хостинга и импортируйте БД.

Пришло время сделать тест сайта. Если он закроется с той же ошибкой, то надо разбираться с содержимым БД. А если будет работать нормально, вывод один – что-то не так у хостера.

Проблема с хостингом

Дело в том, что некоторые хостеры переназначают локальный хост, чтобы он указывал куда-то еще. Отсюда и возникает данная проблема.

Файл configuration.php

Проверьте и отредактируйте этот файл. По умолчанию на него выставлены права 444 – файл доступен только для чтения. Но если изменить права доступа на 644, то можно редактировать. Все трогать не надо – только параметры Database и configuration. Здесь все должно быть так, как на скрине.

Что должен содержать файл configuration.php

Переустановка

Вы можете запустить/остановить службу mysql на сервере, войдя на сервер как пользователь root из интерфейса командной строки и выполнив следующие команды:

  • служба mysql остановить;
  • служба mysql запустить;
  • служба mysql перезапустить.

Вы также можете использовать следующее, если вышеуказанное не работает:

  • /etc/init.d/mysql старт;
  • /etc/init.d/mysql стоп.

5 февраля, 2023 в 12:44 дп

Неоднократно сталкивался с такой ошибкой, не стоит паниковать. У меня проблема была в конфликте имени пользователя с БД. Конечно же, первопричины мне подсказала служба поддержки. Соответственно, рекомендую проверить и у себя.

Мой сайт работает на Joomla и, как оказалось, в файле configuration.php было прописано неправильно имя БД или пользователя, уже точно не помню. В любом случае советую перепроверить. Если не поможет, то можно прямо в панели управления задать для базы пароль из конфигурации на сайте.

6 февраля, 2023 в 12:47 дп

Привет. Ошибка указывает на сбои в соединении базы данных с самим сайтом. Я также сталкивалась с такой проблемой на Joomla. Первая часть ошибки говорит, что скрипы не выполнили подключение к серверу, содержащему базу данных. Следовательно, первое, что нужно протестить – верно ли прописано имя сервера и личные данные пользователя.

Что нужно сделать для восстановления работы сайта:

  • отыскать и открыть configuration.php;
  • проверить данные user и password к БД;
  • перечень всех пользователей можно просмотреть в контрольной панели MySql.

6 февраля, 2023 в 12:52 дп

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

  • несоответствие в месте установки;
  • наличие несостыковок в реестре;
  • внутренний конфликт с установкой SQL Server.

6 февраля, 2023 в 12:55 дп

Всем привет! Чтобы устранить проблему, в первую очередь нужно провести точную диагностику, которая позволит разобраться, в чем первопричина ошибки. Для этого можно использовать последовательную цепочку действий:

  • если заблокирована база данных, нужно проверить настройки подключения к ней;
  • если базы нет, но установен SQL Server, восстановление БЗ возможно путем перезагрузки системы;
  • в случае, когда нет базы и отсутствует SQL Server, причин может быть несколько: слишком длинный путь, не хватает прав админа, нужно сменить диск или убрать его сжатие.

Это проверенный алгоритм, который помогал мне не единожды избавиться от данной ошибки.

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

Первым делом

Чаще всего Database Error появляется, когда некорректно указаны параметра доступа к базе данных. Поэтому первым делом откройте конфигурационный файл в корневой папке сайта и проверьте правильность заполнения параметров host, user, password и db (в разных CMS эти названия могут немного отличаться, но суть та же). На всякий случай напоминаем расположение конфигурационных файлов для популярных CMS.

WordPress (wp-config.php)

define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'имя_пользователя');
define('DB_HOST', 'адрес_сервера');
define('DB_PASSWORD', 'пароль');

В WordPress, кстати, эту ошибку (выводится как «Error Establishing a Database Connection») также можно решить восстановлением базы данных. Для этого впишите последней строкой в конфигурационном файле:

define('WP_ALLOW_REPAIR', true);

Затем перейдите по ссылке: ваш-домен/wp-admin/maint/repair.php. Вы попадете на страницу, где можно будет восстановить (Repair Database) или восстановить с оптимизацией (Repair and Optimize Database) базу данных.

Важно!

Как только ошибка пропала, обязательно удалите из конфигурационного файла строку:

define('WP_ALLOW_REPAIR', true);

Joomla (configuration.php)

var $host = 'адрес_сервера';
var $user = 'имя_пользователя';
var $db = 'имя_базы_данных';
var $password = 'пароль';

В Joomla ошибка подключения к базе данных выводится как «Database Error: Unable to connect to the database:Could not connect to MySQL». Возможен также вариант «Database Error: Unable to connect to the database:Could not connect to database». Во втором случае, скорее всего, указан неправильный префикс для таблиц, поэтому, кроме четырех вышеуказанных параметров, проверьте также строку:

var $dbprefix = 'префикс_таблиц (чаще всего jos_)';

Drupal (sites/default/settings.php)

$db_url = 'mysql://"имя_пользователя":"пароль"@"адрес_сервера"/"имя_базы_данных";

DLE (engine/data/dbconfig.php)

define ("DBHOST", "адрес_сервера");
define ("DBNAME", "имя_базы_данных");
define ("DBUSER", "имя_пользователя");
define ("DBPASS", "пароль");

ModX (manager/includes/config.inc.php)

$database_server = 'адрес_сервера';
$database_user = 'имя_пользователя';
$database_password = 'пароль';
$dbase = 'имя_базы_данных';

1C-Битрикс (bitrix/php_interface/dbconn.php)

$DBHost = "адрес_сервера";
$DBLogin = "имя_пользователя";
$DBPassword = "пароль";
$DBName = "имя_базы_данных";

phpBB (docs/config.php)

$dbhost = 'адрес_сервера';
$dbname = 'имя_базы_данных';
$dbuser = 'имя_пользователя';
$dbpasswd = 'пароль';

Иногда ошибка подключения к базе данных появляется, когда на вашем диске не хватает свободного места. Удалите кэш и ненужные бекапы. Если ничего «ненужного» вы и так не держите, обратитесь к провайдеру за расширением диска. Еще одна возможная причина – сервер с базой данных не работает. Тут уж все претензии к вашему хостеру, пусть решает. Ну, или переходите на более качественный веб-хостинг, к нам, например. :) За грамотной консультацией по переносу в облако как небольших, так и более масштабных проектов обращайтесь 24/7.

Три частые ошибки базы данных Joomla, причины их возникновения и способы их исправления

  • Database connection error: Could not connect to MySQL
  • Database connection error: Could not connect to database
  • MySQL server has gone away

База данных является жизненно важной для работы сайта. При возникновении ошибки базы данных сайт становится недоступен. Практически все ошибки базы данных являются критическими (fatal error), то есть приводят к недоступности сайта, а вместо сайта вы видите белый экран с сообщением об ошибке.

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

Database connection error: Could not connect to MySQL

Ошибка Database connection error: Could not connect to MySQL это сообщение об ошибке обычно означает, что в файле configuration.php вашей Joomla неправильно указано имя базы данных или имя пользователя базы данных.

Исправление ошибки

Откройте файл configuration.php в текстовом редакторе. Найдите строки указанные ниже и впишите в них правильные имя базы данных или/и имя пользователя базы данных или/и пароль доступа к базе данных.

public $user = 'Пользователь_Базы данных';
public $password = 'Пароль_Базы данных';
public $db = 'Имя_Базы данных';

Если эти действия не привели к результату, то войдите в административную панель на хостинге, войдите в MySQL, и здесь сбросьте старый пароль и задайте (сгенерируйте) пароль заново. Потом обновите файл configuration.php с новым паролем.

Database connection error: Could not connect to database

Ошибка Database connection error: Could not connection database. Это сообщение об ошибке обычно означает, что вы подключаетесь к серверу баз данных неправильно. То есть в файле configuration.php неправильно указан адрес хостинга, на котором расположен сервер MySQL.

Примечание. Обычно виртуальные сервера, на которых расположены ваши хостинги настраивают так, что сервер MySQL«лежит» на localhostвашего сервера. И если вы управляете хостингом через CPanel, PleskPanel, или ISP manager то вероятнее всего MySQL «лежит» на localhost. Но это не всегда так. Например, несколько сайтов у меня на PPA панели и адрес сервера базы данных имеет вполне конкретный IP. Так что, не думайте, что localhost это единственно правильный адрес базы данных. Возникают сомнения, обращайтесь в supportвашего хостинг провайдера.

Исправление ошибки

Откройте файл configuration.php в текстовом редакторе. Найдите строку указанные ниже и впишите в нее правильный адрес сервера базы данных MySQL.

public $host = 'Сервер_базы данных';

MySQL server has gone away или сервер «вышел погулять»

Это ошибка «Сервер MySQL ушел» обычно означает, что есть проблема с MySQL на сервере, поэтому она недоступна для использования.

Исправление ошибки

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

Вот такие три частые ошибки базы данных Joomla.

©Joomla-abc.ru

Другие ошибки Joomla

Ошибки Joomla

  1. Offline

    Shika92

    Недавно здесь

    Регистрация:
    02.05.2009
    Сообщения:
    13
    Симпатии:
    1

    Помогите плиз разобратся, прочел факу, поискал ключевики, исколесил форум.
    Joomla_1.5.9-Stable-Full_Package-Russian

    Суть проблемы:
    На 4 шагу установки джумлы на денвере возникает ошибка:

    Не могу подключиться к базе данных. Номер ошибки: Unable to connect to the database:Could not connect to MySQL

    После попробовал сделать по инструкции, дабы удостоверится в верности действий, не помогло. Потом респанул комп, печально попробовал еще разок — все прошло! Но теперь запустил 2й проэкт в данвере и снова эта ошибка.

    Последнее редактирование: 01.07.2009

  2. Offline

    oleg_61

    Недавно здесь

    Регистрация:
    30.06.2009
    Сообщения:
    17
    Симпатии:
    0
    Пол:
    Мужской

    user and password указываете какие? я имею ввиду при установке. Там должны быть параметры админа, на доступ к мускулу, ну или на худой шконец пользователя кому разрешено создавать и удалять таблицы

  3. Offline

    Shika92

    Недавно здесь

    Регистрация:
    02.05.2009
    Сообщения:
    13
    Симпатии:
    1

    Вот ведь… оказывается имя БД не совпадало с папкой проекта, отсюда и проблемы. Извиняюсь…

    oleg_61 спасибо за подсказку, жаль того, что ты сказал не было при установке, вместо:

    «Не могу подключиться к базе данных. Номер ошибки: Unable to connect to the database:Could not connect to MySQL».

    ИМХО, избавило бы многих ленивых юзеров от поисков.

    PS. Решил в гугле номер ошибки ввести — нашел ответ, причем на вашем сайте, а у вас на сайте же поиск дал ответ не на мой вопрос.

  4. Offline

    oleg_61

    Недавно здесь

    Регистрация:
    30.06.2009
    Сообщения:
    17
    Симпатии:
    0
    Пол:
    Мужской

    Shika92, вот и чудненько что помогло, я рад;)

  5. Offline

    Демон-13

    Недавно здесь

    Регистрация:
    06.05.2007
    Сообщения:
    87
    Симпатии:
    0
    Пол:
    Мужской

    У меня тоже самое написано при заходе на сайт, только установлен он давно, не знаю, вроде бы не чего не менял, не поможете разобраться?

    Последнее редактирование модератором: 16.06.2012

  6. Offline

    asd123123

    Недавно здесь

    Регистрация:
    07.07.2010
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской

    Пароль не вводи. Там спрашивает пароль к существующей базе данных, ты наверное вводишь какой-то пароль а базы с таким паролем не существует. Не вводи пароль! Я блин сам постоянно об этом забываю, по пол часа туплю, какое же имя у моей базы данных ?:D

  7. Offline

    Beisek

    Недавно здесь

    Регистрация:
    17.04.2011
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской

    т.е. локалхост и роот остаются?

  8. Offline

    fnatik1012

    Недавно здесь

    Регистрация:
    19.04.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской

    Привет всем!!!
    Подскажите столкнулся с такой проблемой при установке joomla через сайт не через денвер,,возникла такая ошибка на 4 шаге установке

    Невозможно соединиться с базой данных. Сервер вернул ошибку: Unable to connect to the database:Could not connect to MySQL

    какое имя надо писать в бд и где его взять имя))строго не судите я новичок(())
    в строке пароль ниче не пишу!!
    подскажите пожалуйста!!:'(:'(

  9. San4ozzZ

    Offline

    San4ozzZ

    Пользователь

    Регистрация:
    07.03.2011
    Сообщения:
    123
    Симпатии:
    0
    Пол:
    Мужской

    так никто и не помог ((
    такая же пробюлема и не нашёл отвента

    Database Error: Unable to connect to the database:Could not connect to MySQL

    появилась , после смены пароля через хостинг в базе данных

    помогите вернуть всё на круги своя

    Последнее редактирование: 01.05.2011

  10. Offline

    Igma

    Недавно здесь

    Регистрация:
    31.08.2011
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Женский

    В корневой папке нужно изменить параметры в файле configuration.php, а именно ищем строку:

    var $password = ‘password’;

    вместо ‘password’ вставляем новый пароль, сохраняем и вуаля:)

  11. Offline

    Lera69

    Недавно здесь

    Регистрация:
    04.04.2012
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский

  12. Offline

    galpost

    Недавно здесь

    Регистрация:
    15.06.2012
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Женский

    Проверьте название базы данных и пароль не вводите и все пройдет 99,9% :)

  13. Offline

    rustamiy

    Недавно здесь

    Регистрация:
    06.03.2013
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской

    Будете смеяться, но вся проблема заключалась в самой Джумле. Вполне возможно, что скачал какую-то кривую версию: часа 3 бился с этим «коннектом» в дистрибутиве Joomla_1.5.7-Stable-Full_Package, но так и не смог ничего сделать, а joomla.1.6.3.rus встала без каких-либо проблем. Причём, первая просила заполнение пароля. Без него ругалась. Для 1.6.3. никакой пароль не требовался.

  14. CB9T

    Offline

    CB9T

    Преподаватель по J!
    Команда форума
    ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    322
    Пол:
    Мужской

    Да Вы мастер: Для 1.6 — Вы в курсе, что Joomla 2.5 сейчас актуальная? а 1.0 — по 1.7 не поддерживаются?

  15. Offline

    rustamiy

    Недавно здесь

    Регистрация:
    06.03.2013
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской

    Дело не в том, какой я мастер. Я мастер там, где Вы ученик)) И причём здесь, вообще, поддержка версий? Речь тут об ошибке, которая была при установке одной и исчезла при установке другой. Они обе «неподдерживаемые» в Вашем понимании, но одна из них работает. «Зри в корень!» (с) И осторожнее с ярлыками…

  16. CB9T

    Offline

    CB9T

    Преподаватель по J!
    Команда форума
    ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    322
    Пол:
    Мужской

    Прошу прощения) просто тут не заводилась 1.5 (которая на данный момент не актуальна, но у большинства есть), А вы поставили 1.6 (которая вообще тестовая была и эволюционировала с 1.6 -> 1.7 и только потом 2.5), т.е. Вы взяли ветку тестовую.

    Joomla_1.5.7- Stable

  17. Offline

    rustamiy

    Недавно здесь

    Регистрация:
    06.03.2013
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской

    Хм… Т.е. у меня не работало то, что должно работать? Тогда нужны некоторые объяснения (про 1.5.7.):
    1) без пароля не устанавливалась. Вылезала пустая страничка с целым абзацем какой-то инфы. Если прописать пароль, то Unable to connect to the database:Could not connect to MySQL
    2) имя базы совпадало с именем папки
    В общем, пробовал все варианты из форума, но ни один не помог. Подумал, что проблема с Денвером. И просто так решил попробовать 1.6, которая встала без каких-либо проблем. Вопрос: как поставить правильную? Интересно в плане получения опыта :)

  18. CB9T

    Offline

    CB9T

    Преподаватель по J!
    Команда форума
    ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    322
    Пол:
    Мужской

    1.5 joomla куда не установилась? на денвер? в этом виновен только денвер (я рекомендую openserver).
    2) имя базы совпадало с именем папки (папки?) в phpmyadmin необходимо создавать.

    О да… денвер… попробуйте http://open-server.ru/ — переключите на php 5.3

  19. Offline

    rustamiy

    Недавно здесь

    Регистрация:
    06.03.2013
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской

    Да вряд ли Денвер тому виной. Сейчас ради смеха поставил joomla_2.5.9_Full_Package_Russian. Опять никаких проблем. Либо у 1.5.7 дистрибутив кривой попался, либо магия старины)) Третью пробовать? Может кому интересно узнать про сочетание Win8, Denwer3_Base_PHP52_2012-06-27 и Joomla_3.03_Full_Package_Russian :) Денвер на виртуальном диске.

  20. CB9T

    Offline

    CB9T

    Преподаватель по J!
    Команда форума
    ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    322
    Пол:
    Мужской

    Денвер всему виной :) ну в 90% он.

Поделиться этой страницей


Форумы Joomla! CMS

Здравствуйте! Сайт http://roofhouse.tmweb.ru недоступен, ошибка Database connection error (2): Could not connect to MySQL.

Пробовал сделать восстановление базы данных из бекапа — не помогло
Пробовал поменять пароль базы данных опять не помогло. 
В чем может быть проблема?

Похожие вопросы

Паркуется домен при установке вп

Добрый день, подскажите почему паркуется домен при установке вордпреса на сайт? Мои действия:

1) создание бд, выставление прав к бд

2) установка вп

3) привязка домена

При переходе по ссылке, выдается страница парковки таймвеб

Подключение к базе данных через c#

Никто не сталкивался с проблемами подключения к базе данных msql на хостинге через c#?
Пробую, не получается!
буду очень рад любой вашей помощи!

Создать опрос на платформе timeweb

Подскажите, пожалуйста, можно ли создать опросник с вариантами ответов, чтобы данные были привязаны к нашему ящику на timeweb и сохранялись там же? Как в googleforms или survey monkey. Спасибо!

На сайте ошибка базы данных

На сайте может отображаться одна из следующих ошибок подключения к базе данных:

  • «Error Establishing a Database Connection»,
  • «Database connection error (2): Could not connect to MySQL»,
  • «DB error»,
  • «Could not connect to MySQL»,
  • «Невозможно подключиться к базе данных».

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

Что делать, если неверно прописаны реквизиты подключения к базе данных

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

  1. 1.

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

  2. 2.

    Войдите в панель управления хостингом, найдите и откройте конфигурационный файл. Он может располагаться как в корневой папке, так и в других директориях сайта.

  3. 3.

    Проверьте в файле реквизиты. В качестве сервера базы данных должен быть прописан localhost (обратите внимание, не 127.0.0.1). Если вы используете удалённую базу данных на каком-либо другом сервере, пропишите его IP-адрес и убедитесь, что сервер доступен.

  4. 4.

    Проверьте в файле имя базы данных (логин) и имя пользователя базы данных. Если вы используете базу данных по умолчанию, то они должны совпадать с именами, указанными в Личном кабинете: Доступы к MySQL. Если вы создавали новую базу самостоятельно, реквизиты можно посмотреть в панели управления.

  5. 5.

    Обновите пароль базы данных. Скопируйте пароль, который указан в конфигурационном файле. Задайте его в качестве нового пароля пользователя базы данных: Как изменить пароль пользователя базы данных.

Готово, теперь ошибка должна быть устранена.

MySQL — система управления базами данных (СУБД). С её помощью можно управлять базами данных (БД) на сервере. 

В зависимости от операционной системы, на сервере может быть установлена СУБД MySQL или MariaDB — их функционал сильно похож, и для работы разницы, как правило, нет. 

В данной статье рассмотрим, с какими проблемами вы можете столкнуться при работе с MySQL и как их решить. 

  • Создание базы через ISPmanager
    • Раздела «Базы данных» нет в меню
  • Не подходит пароль к серверу баз данных
  • Где искать ошибки?
    • Перечень возможных проблем
      • Table ‘./site/content’ is marked as crashed and should be repaired
      • mysql_connect() [function.mysql-connect]: Access denied for user ‘user_xxx’@’localhost’ (using password: YES)
      • Не удалось подключиться к базе данных
      • В панели ISPmanager не удается создать базу данных, ошибка «Недостаточно данных»
      • MySQL не запускается ни в сервисах, ни через консоль
      • Решение проблем с кодировками MySQL
  • Русификация MySQL

Создание базы через ISPmanager

Панель управления ISPmanager значительно упрощает управление СУБД и базами данных. На корректно работающем VDS создание базы займет не больше 5 минут.

В левом меню ISPmanager переходим в раздел Базы данных и нажимаем Создать базу данных.

Заполняем необходимые поля: имя БД, владелец БД (должен совпадать с владельцем сайта), сервер БД, кодировка БД, после чего создаем нового пользователя БД (либо выбираем существующего) и задаем пароль. Рекомендуем создавать сложные пароли. 

Подробнее о создании Базы данных можно узнать в отдельной статье.

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

Раздела «Базы данных» нет в меню

Есть 2 возможных варианта решения проблемы:

1. На сервере не запущен сервер баз данных MySQL

Проверить, активен ли сервис, вы можете в разделе Мониторинг и журналы панели ISPmanager. Попробуйте запустить или перезапустить службу mariadb (в ОС CentOS и Debian) или mysql (в ОС Ubuntu) с помощью кнопок в панели.

Если не помогло, перезапустите из консоли командой systemctl restart mysql для Ubuntu/Debian или командой systemctl restart mariadb для Centos 7.

2. Проблемы с подключением к базе данных

Перейдите в раздел Серверы БД, двойным кликом откройте свойства и нажмите Сохранить, ничего не меняя. Это принудительно обновит информацию о MySQL в панели управления. После этого обновите страницу — раздел Базы данных должен появиться.

Не подходит пароль к серверу баз данных

Случается так, что пароль root от MySQL-сервера утерян и надо установить новый. Делается следующим образом:

Останавливаем MySQL-сервер:

В Debian/Ubuntu:

# systemctl stop mysql

В CentOS 7:

# systemctl stop mariadb

или

# systemctl stop mysqld

Запускаем его без проверки таблиц прав:

# mysqld_safe --skip-grant-tables &

Заходим root’ом без пароля:

# mysql -uroot

Меняем пароль:

# use mysql;

MySQL < 5.7

# UPDATE user SET Password=PASSWORD("new_password") WHERE User='root';

MySQL => 5.7

# UPDATE user SET authentication_string=PASSWORD("new_password") WHERE User='root';

Проверить версию MySQL можно с помощью команды:

# mysql –version

или

# mariadb –version

Продолжаем для всех версий

# FLUSH PRIVILEGES;

В Debian/Ubuntu:

# systemctl restart mysql

В Centos 7:

# systemctl restart mariadb

или

# systemctl restart mysqld

Авторизуемся как root с паролем new_password

# mysql -uroot -p

После вводим новый пароль.

Где искать ошибки?

MySQL — свободная реляционная система управления базами данных. Поиск проблем с сервисом лучше всего начинать с изучения логов. Для этого необходимо подключиться на сервер по SSH. Их расположение разнится в зависимости от используемой файловой системы. В конфигурационном файле my.cnf нужно искать строки log и log-error, чтобы определить, где находятся логи. Также можно воспользоваться mysql запросом:

show variables like '%log%';

Если логирование не включено, сделать это можно следующим образом. Зайти в файл:

/etc/my.cnf   #Centos
/etc/mysql/my.cnf  #Debian
/etc/mysql/mysql.conf.d/mysql.cnf #Ubuntu

Расположение конфигурационного файла может отличаться в зависимости от дистрибутива или CMS.

И в секцию [mysqld] добавить строку:

log-error=/var/log/mysql-errors.log

Выйти из файла, выполнить команды:

touch /var/log/mysql-errors.log
chown mysql:mysql /var/log/mysql*
chmod 640 /var/log/mysql*

Следующая команда включит просмотр созданного лога в режиме реального времени(tail –f) и оставить его в фоне(&) что бы можно было параллельно запускать другие команды:

tail –f /var/log/mysql-errors.log &

Данная команда позволяет проводить действия с БД или сайтов и одновременно смотреть на ошибки в логе. Чтобы остановить команду, нажмите Ctrl+C.

Перечень возможных проблем

Table ‘./site/content’ is marked as crashed and should be repaired

Такое сообщение может появиться в логах или на сайте. Оно означает, что таблица одной из БД «побилась» и требуется ее восстановление. Необходимо подключится на сервер по SSH, выполнить команду, которая проверит все базы данных на предмет ошибок

mysqlcheck --repair --analyze --optimize --all-databases -u<USER> –p<PASSWORD>

Если эта команда выдаёт ошибку, вставьте ключи раздельно:

mysqlcheck --repair --all-databases -u<USER> –p<PASSWORD>
mysqlcheck --analyze --all-databases -u<USER> –p<PASSWORD>
mysqlcheck --optimize --all-databases -u<USER> –p<PASSWORD>

где

  • <USER> — имя пользователя базы данных или root,
  • <PASSWORD> — заменить на пароль пользователя или root от MySQL (его можно посмотреть в ISPmanager — Базы данных — Серверы БД — двойной клик на сервер MySQL для просмотра пароля root (либо Базы данных — двойной клик на нужную базу данных и двойной клик на нужного пользователя).

Либо можно выполнить исправление конкретной базы данных:

mysqlcheck --repair --analyze --optimize <DB> -u<USER> -p<PASSWORD>

где

  • <USER> — имя пользователя базы данных или root,
  • <PASSWORD> — заменить на пароль пользователя или root от MySQL (его можно посмотреть в ISPmanager — Базы данных — Серверы БД — двойной клик на сервер MySQL для просмотра пароля root (либо Базы данных — двойной клик на нужную базу данных и двойной клик на нужного пользователя),
  • <BD> — база данных, которой требуется исправление.

mysql_connect() [function.mysql-connect]: Access denied for user ‘user_xxx’@’localhost’ (using password: YES)

Чаще всего связана с тем, что в настройках сайта указаны не верные данные (логин и/или пароль) для подключения к базе. Вариант решения: посмотреть в админ-панели сайта данные пользователя, пароль и название базы для подключения к базе. Зайти в ISPmanager — Базы данных — кликнуть на базу, затем на пользователя и в графу Пароль поставить пароль из админ-панели.

Может быть обратная ситуация, когда в панели ISPmanager указаны верные данные, а в конфигурационных файлах указаны неверные. В таком случае нужно править конфигурационные файлы, для CMS Bitrix, например, это /bitrix/.settings.php и/bitrix/php_interface/dbconn.php.

На сайте ошибка «Не удалось подключиться к базе данных»

В зависимости от используемой CMS эта ошибка может по-разному выглядеть:

Возникла ошибка при подключении сервера баз данных MySQL
Can't connect to local MySQL server
Error connect to mysql
Unable to connect to the database:Could not connect to ...

Подключится на сервер по SSH, выполнить:

 systemctl restart mysql                            #перезапуск MySQL для Ubuntu, Debian
 systemctl restart mariadb                          #перезапуск MySQL для Centos 7
 ps axuw | grep mysql                               #Эта команда должна вывести список процессов MySQL. 
                                                    #Если ничего не вывела – значит, MySQL не запустился.

Убедится что в ISPmanager, в разделе Службы лампочка mysql или mariadb горит.

В панели ISPmanager не удается создать базу данных, ошибка «Недостаточно данных»

Это значит у вас в ISPmanager — Серверы БД не создано ни одного сервера баз данных. Для создания нажмите на Серверы БД, далее на Создать сервер. В полях введите название сервера БД (например, MySQL), придумайте имя пользователя и пароль. Также в панели ISPmanager можно установить более 1 СУБД, альтернативные СУБД будут работать в контейнерах Docker.

MySQL не запускается ни в сервисах, ни через консоль

При запуске через консоль ошибки могут быть вида:

cant connect to local mysql server throught socket /var/run/mysqld/mysql.d.sock
/etc/init.d/mysql start
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
/usr/local/etc/rc.d/mysql-server restart
mysql not running? (check /var/db/mysql/peroksid.ispvds.com.pid).
Starting mysql.

Проверить свободное место на диске:

df –h        #общая информация
du –hs /*  #сколько занимает конкретные папки

Если не осталось места, удалить ненужные файлы.

Частая ситуация, когда логи сайтов разрастаются и места на диске свободного не остается, MySQL не может нормально работать (справедливо и для всех остальных сервисов – apache, exim и т.д.)

Снова пробуем перезапустить MySQL:

systemctl restart mysql        #перезапуск MySQL для Ubuntu и Debian
systemctl restart mariadb      #перезапуск MySQL для Centos 7

Если проблема не со свободным местом, в логах должны появиться записи, похожие на эти:

130929 06:16:05 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
130929  6:16:05 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
130929  6:16:05 [Warning] option 'max_allowed_packet': unsigned value 5824839680 adjusted to 1073741824
Unknown suffix '-' used for variable 'sort_buffer_size' (value '--read_buffer_size=256K')
130929  6:16:05 [Warning] option 'sort_buffer_size': unsigned value 0 adjusted to 32776
130929  6:16:05 [ERROR] /usr/local/libexec/mysqld: Error while setting value '--read_buffer_size=256K' to 'sort_buffer_size'
130929  6:16:05 [ERROR] Aborting

Смотрим записи с меткой [ERROR]. В логе выше ошибка «Error while setting value ‘—read_buffer_size=256K’ to ‘sort_buffer_size’» означает, что в конфиге my.cnf неверно прописана директива ‘sort_buffer_size. Этот случай приведен только для примера. В каждом конкретном случае лог будет различаться. Ошибки могут быть самые разные. Дальнейшие действия зависят от конкретной ошибки и требуют детального разбирательства.

Решение проблем с кодировками MySQL

Чтобы решить проблему — достаточно понять логику работы. MySQL, начиная с версии 4.1, знает, что такое кодировки и как с ними работать. Если до 4.0 она работала с байтами, то теперь работает с символами.

MySQL написали шведы, поэтому кодировкой по умолчанию (сразу после установки) является latin1, а «сравнение» (последовательность букв, алфавит; влияет на сортировки) — latin1_swedish.

Итак, где кодировки указываются.

1. Кодировка конкретной базы/таблицы/столбца. Это кодировка, в которой MySQL будет хранить данные. Например, если у вас данные в cp1251, то будет большой ошибкой указывать для хранения кодировку latin1. В ней нет соответствий для русских символов, все они будут заменены на вопросы.

Кодировку хранения можно задать, например, так.В терминале открываем MySQL с помощью команды mysql или mysql -u имя_пользователя -p, вводим пароль, после чего пишем в консоли MySQL:

create database `имя базы` default charset cp1251;

Если кодировка не указана — будет использовано значение параметра default-character-set из файла /etc/my.cnf (либо latin1, если параметра нет). Кстати, именно этот параметр редактирует ISPmanager в свойствах сервера баз данных.

2. Кодировка соединения. Это кодировка, в которой клиент (скрипт пользователя, форум, mysql-клиент и т.д.) общается с MySQL. Когда клиент подсоединяется к серверу, тот ему сообщает значение параметра default-character-set. Таким образом они договариваются о том, в какой кодировке будут общаться. Кодировку общения можно изменить запросом (его лучше выполнять сразу после соединения с сервером):

set names cp1251

где вместо cp1251 вы можете указать нужную кодировку.

Кстати, множество современных правильных скриптов именно это и делают.

Одна сложность: есть ряд кривых клиентов, которые всего этого не понимают и общаются в какой-то своей кодировке. Персонально для них можно написать в /etc/my.cnf, секцию [mysqld]:

[mysqld]
set init_connect="set names utf8"

где вместо utf8 вы можете указать нужную кодировку.

Что это означает? Сразу после подсоединения любого клиента, MySQL выполнит запрос set names utf8, как будто смену кодировки общения запросил сам клиент.

Это всё, что нужно знать для решения любой проблемы с кодировками в MySQL. Осталось несколько уточнений (самое интересное):

phpMyAdmin, mysqldump — обычные клиенты, на них действуют те же самые правила. Одно «но»: на все PHP-скрипты (включая phpMyAdmin) действует default-character-set из секции [client] в my.cnf. Для mysqldump есть отдельная секция [mysqldump]. Часто бывает так, что команда mysqldump «не видит» секцию [mysqldump], поэтому в случаях, когда необходимо делать дамп БД в определенной кодировке, лучше использовать mysqldump с параметром --default-character-set=utf8 (вместо utf8 укажите нужную кодировку). ISPmanager прописывает default-character-set во все секции.

Дамп базы — это обычный набор MySQL-команд. Если вы в самое его начало напишете set names cp1251;, то эта команда тоже выполнится, и MySQL будет считать, что дальше все данные в дампе идут в кодировке cp1251.

Кодировки в MySQL-командах пишутся без кавычек и без «-» (дефисов). Популярные в России кодировки: utf8, cp866 (DOS), cp1251 (windows-1251), koi8r, utf8mb4.

И, наконец, пара советов:

  • Если вы в этом новичок, постарайтесь свести всё к одной кодировке. Пусть у вас дамп и default-character-set (напомню, влияет на кодировку хранилища при создании таблиц и на кодировку общения с клиентом) будет в одной кодировке. Это избавит от путаницы и решит 90% проблем.
  • Если есть возможность — используйте консольную утилиту mysqldump. phpMyAdmin — это дополнительная прослойка, которая лишь добавляет свою путаницу и свои баги.

Русификация MySQL

Чтобы русифицировать базу данных MySQL, не вдаваясь в подробности почему и как, проделайте следующие процедуры:

1. В конфигурационном файле /etc/my.cnf добавьте следующие строчки:

Под разделом [client]:

default-character-set=cp1251

Под разделом [mysqld]:

character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect = "set names cp1251"

2. После этого перезапустите базу MySQL или весь ваш виртуальный сервер (из ISPmanager или консоли).

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Database error see log for details перевод
  • Dayz complete error cant complete game script module
  • Dayz compile error script module
  • Dayz compile error game
  • Dayz bce error bepath is not a valid directory

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии