Category archives: MySQL

Не запускается СУБД MySQL mysql.service: Main process exited, code=exited, status=1/FAILURE

Произошла у меня комичная ситуация. При помощи команды “reboot” перезапустил сервер с ОС Linux Ubuntu и после перезапуска СУБД MySQL перестала запускаться. После выполнения команды “service mysql restart” выводится сообщение: “Job for mysql.service failed because the control process exited with error code. See “systemctl status mysql.service” and “journalctl -xe” for details.” Что делать и как быть? Read more …

Что устанавливать для веб-сервера на чистом выделенном сервере

Итак, арендовали виртуальный или физический выделенный сервер (VPS/VDS) с одной только ОС Linux и теперь пора его настроить, чтобы сделать из него веб-сервер для сайтов интернета. Настройка веб-сервера на чистом выделенном сервере дело не совсем хлопотное, но всё же придётся потратить немного времени. Read more …

Создание пользователя и наделение его правами в СУБД MySQL

Казалось бы тема проще некуда, но, судя по форумам и специализированным сайтам ответов, у многих людей она вызывает вопросы, надо прояснить. Как же создать пользователя в СУБД MySQL и наделить его правами администратора? Разумеется, речь идёт о SQL, т.к. как создавать пользователей через какой-нибудь менеджер БД типа “PhpMyAdmin” или “MySQL Workbench” все конечно знают. Read more …

Борьба с ошибкой 1146 “Table `table_name` doesn’t exist when using LOCK TABLES” в СУБД MySQL

Попытался сделать дамп (бэкап) БД через родную для MySQL утилиту mysqldump и получил ошибку:

Got error: 1146: Table `table_name` doesn't exist when using LOCK TABLES

Вместо table_name имя несуществующей таблицы. Т.е. сразу после введения в консоль/терминал команды:

mysqldump --user=root -p db_name > db_name.sql

получаю такую ошибку. Файл дампа создаётся, но он пустой, утилита mysqldump после выдачи этой ошибки перестаёт работать. Read more …

Отмена вставки в триггере MySQL

Простая ситуация когда вешаем тригер на вставку данных в таблицу и в этом триггере определяем надо ли вставлять эти данные или нет. В случае с MySQL всё оказалось не просто.

Проблема в том, что отменить запрос в триггере MySQL тривиальным образом нельзя. В той же MS SQL Server есть триггеры INSTEAD OF и достаточно просто прописать в триггере ROLLBACK, что бы отменить вставку, но в MySQL команды транзакций использовать в триггерах нельзя. Read more …

СУБД не отвечает из-за превышения лимита запросов

При работе с СУБД MySQL столкнулся с проблемой которая повергла меня в ступор ибо я долго не мог понять из-за чего это происходит. Симптомы банальны: СУБД тупо не отвечает на посылаемые ей запросы. При этом никаких ошибок так же не отдаёт и исправно принимает запросы. Т.е. запросы уходят к СУБД а в ответ ничего, совсем ничего. Вот уж не знаешь что и думать в такой ситуации. Разумеется перезагрузка сервера баз данных помогает, но ведь это не выход надо искать причину проблем. Read more …

The used table type doesn’t support FULLTEXT indexes

Неприятная ошибка, стоит признать. Случается она обычно при переносе базы данных, при поднятии дампа. Говорит о том, что тип используемой таблицы не поддерживает полнотекстовые (FULLTEXT) индексы. Причин том может быть несколько. Об этом и поговорим. Read more …

Использование составного ключа в БД

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

Базовые методы оптимизации базы данных

Решил посвятить этой теме целый отдельный пост на своём блоге т.к. это действительно очень важно, особенно когда речь идёт о высоконагруженных проектах. Безусловно переоценить роль оптимизации базы данных очень сложно, ведь от этого зависит многое и в первую очередь производительность вашего продукта работающего с базой данных. Вообще оптимизации баз данных это целая наука, которой можно посвятить целую книгу, в этом деле есть свои тонкости и нюансы. Обычно оптимизацией БД должен заниматься архитектор базы ещё при создании самой модели таблиц и связей. Т.е. об оптимизации думаем сразу при создании базы. В общем я поведаю о базовых методах распределения нагрузки СУБД. Read more …

Полнотекстовый поиск с сортировкой по релевантности на основе SQL запроса в СУБД MySQL

Решил написать на эту тему отдельную статью т.к. думаю, что это будет очень интересно для читателей блога. Естественно я не первый кто описывает данный метод, поэтому на правду в последней инстанции не претендую. Вообще когда данный способ поиска с сортировкой по релевантности стал возможен в СУБД MySQL был большой резонанс, многие об этом писали, в частности в US нете. Действительно способ очень интересный, т.к. предоставляет простейший механизм качественного быстрого релевантного полнотекстового поиска по базе данных. Т.е. вы получаете мощнейшую поисковую систему, которая быстро и не ресурсозатратно ищет различные слова и словосочетания (с морфологией) при этом сортирует результаты по релевантности. Сразу скажу, что описанный в статье метод применим к СУБД MySQL, для неё и писался т.к. в работе применяются специфические именно для этой СУБД операторы и индексы, которые не входят в общую спецификацию языка SQL.  Ну да хватит лирических отступлений, давайте переходить к делу.

Read more …

Решение извечной проблемы с кодировками в сайтостроении

Приветствую тебя, уважаемый читатель. Речь пойдёт, как уже понятно из названия, о кодировках в web. Не смотря на то, что на эту тему уже написано тонны текстовых материалов, все же проблема остаётся и продолжает иметь место. Read more …

MySQL (Can’t connect … through socket) – решение проблемы

В данном посте я заведу речь о, как в последствии оказалось, весьма наболевшей проблеме связанной с MySQL сервером установленным на машину под управлением операционной системы на базе ядра Linux. Для её решения мне пришлось убить не мало времени, но я всё же таки разобрался в чём же было дело и с радостью поделюсь секретом с Вами. Read more …

Как импортировать большую базу данных MySQL

В сие посте я заведу речь о том как же можно импортировать большую по размеру базу данных на сервере, т.е. как поднять файл с расширением .sql на боевом сервере баз данных MySQL. Естественно по традиции своего блога я поведаю о всех известных и популярных способах. На других блогах как правило пишется только о каком нибудь одном способе импорта базы, я же опишу сразу все, хотя я пожалуй уже начинаю повторяться. Давайте уже начнём. Read more …


5.67MB | MySQL:47 | 0.093sec