Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Как добавить эмодзи в базу MySQL

12.03.2024 | Категория: Web-мастеру и не только | Автор: ManHunter

Как добавить эмодзи в базу MySQL

В одном из рабочих проектов потребовалось прикрутить эмодзи к сообщениям и хранить эти данные в базе MySQL. Таблица изначально была заведена в кодировке utf8, для работы с базой используется PHP. Однако, возникла проблема, что при попытке добавить в базу текст с некоторыми смайликами, он сохранялся вообще пустым. Дело в том, что кодировка utf8 не поддерживает верхний диапазон символов Unicode, к которым относится большинство эмодзи.

Читать статью целиком »
Просмотров: 422 | Комментариев: 0

MySQL Monitor 1.7

24.04.2023 | Категория: Мои программы | Автор: ManHunter

Скриншот программы MySQL Monitor

Программа MySQL Monitor предназначена для удобного управления сервером MySQL под Windows. Она позволяет запускать или останавливать процесс mysqld.exe с нужными параметрами, отслеживать его состояние, а также запускать консоль MySQL. Запуск MySQL в качестве сервиса не предусмотрен. Управление выполняется через меню в трее, настройки программы хранятся в файле mysqlmon.ini

Читать статью целиком »
Просмотров: 4481 | Комментариев: 13

Удаление строк из разных таблиц одним запросом

27.10.2021 | Категория: Web-мастеру и не только | Автор: ManHunter
Типичная задача при разработке web-приложений - удаление объекта и связанных с ним свойств, хранящихся в базе MySQL в разных таблицах. Чаще всего это делается несколькими последовательными запросами, типа
  1. DELETE FROM `item_tableWHERE `item_id`=5
  2. DELETE FROM `properties_tableWHERE `property_parent`=5
  3. DELETE FROM `sizes_tableWHERE `size_parent`=5
и т.д. Главная проблема тут даже не в лишних запросах, а в том, что если на каком-либо промежуточном этапе произойдет критическая ошибка, то в базе останутся "зомби" в виде ни к чему не привязанных записей или наоборот, останется родительская запись, у которой уже удалены все связанные свойства. Оба варианта плохие.

Все эти проблемы легко решаются, если запрос на удаление сформировать в следующем виде:
  1. DELETE
  2. `item_table`, `properties_table`, `sizes_table`
  3. FROM
  4. `item_table`, `properties_table`, `sizes_table`
  5. WHERE `item_id`=5
  6. AND `property_parent`=`item_id`
  7. AND `size_parent`=`item_id`
или, если каких-либо связанных записей в базе может не оказаться:
  1. DELETE
  2. `item_table`, `properties_table`, `sizes_table`
  3. FROM
  4. `item_table`
  5. LEFT JOIN
  6. `properties_tableON (`property_parent`=`item_id`),
  7. `sizes_tableON (`size_parent`=`item_id`)
  8. WHERE `item_id`=
Прелесть такого решения заключается в том, что запрос или выполняется полностью или не выполняется совсем, гарантированно обеспечивая целостность данных. Получается что-то вроде транзакции. Ну и код становится гораздо более понятный и красивый.

Просмотров: 810 | Комментариев: 2

Как узнать размер базы MySQL

18.06.2019 | Категория: Web-мастеру и не только | Автор: ManHunter

Как узнать размер базы MySQL

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

Читать статью целиком »
Просмотров: 1540 | Комментариев: 0

Как поменять пароль root на MySQL

24.06.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
На одном из серверов потребовалось сбросить забытый рутовый пароль от MySQL. Сервер крутится на CentOS, рутовый доступ к серверу есть. На всякий случай небольшая шпаргалка для себя, чтобы потом не искать.

1. Останавливаем сервер MySQL

service mysqld stop
2. Запускаем MySQL в безопасном режиме без привилегий

/usr/bin/mysqld_safe -skip-grant-tables -user=root &
3. Заходим в клиент MySQL под пользователем root без пароля

mysql -u root
4. Устанавливаем новый пароль для пользователя root

UPDATE `mysql`.`user` SET `password`=PASSWORD('newpassword') WHERE `user`='root';
5. Сбрасываем привилегии пользователей MySQL

FLUSH PRIVILEGES;
6. Выходим из клиента MySQL

quit;
7. Запускаем сервер MySQL

service mysqld start
После этого можно использовать новый пароль. Для разных версий Linux команды работы с сервисами могут отличаться, здесь пример конкретно под CentOS.

Просмотров: 1715 | Комментариев: 0

prev 01 02 03
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.06 сек. / MySQL: 3 (0.0019 сек.) / Память: 4.5 Mb
Наверх