В чём же принципиальная разница между директориями для веб-сайтов «/srv» и «/var/www» в ОС GNU/Linux? Как выбрать идеальное место для размещения своих веб-файлов? Read more
Стоит ли в БД хранить бинарные данные?
Где лучше хранить бинарные данные, в файлах или в БД? 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
Executing SQL statements from a text file in DBMS MySQL
How do work with a text files in command line clien of DBMS MySQL? 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