Наверняка многие системные администраторы и администраторы баз данных mysql/percona/mariadb хотя-бы один раз задавались вопросами, почему при рестарте mysql на сильно нагруженном сервере приложение начинает тормозить, почему база не может сохранить свое «прогретое» состояние? при рестарте mariadb innodb_buffer_pool_dump_at_shutdown = 1 innodb_buffer_pool_load_at_startup = 1 в ручном режиме # сохранить состояние SET GLOBAL innodb_buffer_pool_dump_now=ON; # восстановить состояние SET…
Метка: mysql
Скрипт на bash для создания mysql slave без даунтайма
Данный скрипт, написанный на bash-е, несет собой цель демонстрации алгоритма потабличного восстановления/создания mysql-репликации без даунтайма. В данном конкретном примере подразумевается наличие всех необходимых реквизитов для доступа к master-а и slave-у, а так-же минимальная настройка — наличие учетной записи для репликации на мастере + включенный bin-log. #!/bin/bash MASTER_HOST=’master-mysql.domain’ SLAVE_HOST=’slave-mysql.domain’ DATABASE=’database_name’ echo «[i] сбрасываем slave» mysql -h…
GROUP_CONCAT в MariaDB
Агрегирующая функция GROUP_CONCAT работает аналогично функции CONCAT_WS, с тем отличием, что способна объединить не строки, как CONCAT/CONCAT_WS а результаты выборки из таблиц. Приведу пример, дано 3 таблицы. Таблица items связана с таблицей cats посредством таблицы item_cats. Условно говоря одному элементу таблицы items может соответствовать несколько элементов таблицы cats: CREATE TABLE `items` ( `id` int(10) unsigned…