Tag Archives: MySQL

Разница между директориями сайтов /srv и /var/www в Linux

В чём же принципиальная разница между директориями для веб-сайтов «/srv» и «/var/www» в ОС GNU/Linux? Как выбрать идеальное место для размещения своих веб-файлов? Read more

Борьба с ошибками при экспорте данных через mysqldump в MySQL

Борьба с возникшими ошибками при экспорте данных через нативный инструмент mysqldump в СУБД MySQL — дело тривиальное. Смотрим на сообщения в окне логов. После завершения экспорта полоска будет полностью заполнена и под ней будет сообщение вроде такого: «Status: 5 of 5 exported». Read more

Связь один ко многим в реляционных БД

Как правильно формировать структру БД по части связей? Сперва надо определиться какой тип связи данных используется: один к одному, один ко многим, многие ко многим. Здесь мы поговорим про самый распространённый тип «один ко многим» на примере СУБД MySQL. Read more

Составной уникальный ключ не работает для данных с NULL в MySQL

Составной уникальный ключ и null показывают невероятное поведение. В популярной СУБД MySQL составной уникальный ключ не работает для данных со значением NULL. Составной (i.e. наложенный на несколько полей одновременно) UNIQUE ключ не работает для записей (строк), содержащих NULL. Read more

PHP 7 перестал поддерживать старый API MySQL

Случилось то, о чём разработчики PHP давно предупреждали. PHP 7 перестал поддерживать старый API MySQL. Теперь при попытке использовать функции с префиксом «mysql_» будет возникать критическая/фатальная ошибка «PHP Fatal error: Uncaught Error: Call to undefined function mysql_ in file», e.g. «call to undefined function mysql_fetch_array()». Read more

Не запускается СУБД 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

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

Итак, арендовали виртуальный или физический выделенный сервер (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

Настройка связки веб серверов Nginx и Apache

Несмотря на то, что эта тема изрядно избита и  в интернете по этому поводу написано уйму статей, я всё же не могу просто обойти эту тему стороной и ничего про это не сказать и пусть даже мой пост-manual, возможно, будет не самым длинным и подробным, но зато я постараюсь описать ключевые аспекты настройки связки (взаимодействия) веб серверов Nginx и Apache на одном сервере. Read more

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

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

Установка Apache + PHP + MySQL на Windows

Установим так сказать базовый пакет web-разработчика на локальную машину под управлением Microsoft Windows. Не станем использовать готовые сборки наподобие Denwer, XAMP, OpenServer и им подобных и будем устанавливать всё вручную и по отдельности. Read more