Агрегирующая функция GROUP_CONCAT работает аналогично функции CONCAT_WS, с тем отличием, что способна объединить не строки, как CONCAT/CONCAT_WS а результаты выборки из таблиц. Приведу пример, дано 3 таблицы. Таблица items связана с таблицей cats посредством таблицы item_cats. Условно говоря одному элементу таблицы items может соответствовать несколько элементов таблицы cats: CREATE TABLE `items` ( `id` int(10) unsigned…
Метка: mysql
Восстановление данных с помощью mysqlbinlog из binlog format=row
Эта строчка на bash-е поможет извлечь из binlog все изменения данных для последующего их применения к данной базе: Допустим что логи лежат в /var/lib/mysql/ , тогда mysqlbinlog —verbose /var/lib/mysql/mysqld-bin.[0-9]* | egrep ‘^### ‘ | sed -e ‘s/^### //g’ -e ‘s/^INSERT/;\nINSERT/g’ -e ‘s/^UPDATE/;\nUPDATE/g’ -e ‘s/^DELETE/;\nDELETE/g’ > dump.sql ; echo «;» >> dump.sql выгрузит лог всех операций в…
Репликация mysql: Повышение производительности slave
В большинстве случаев репликация mysql проблем не вызывает, но что делать, если данные master обновляются настолько часто, что slave не успевает за ними? Вероятная причина кроется в алгоритме синхронизации InnoDb Ситуацию исправит innodb_flush_log_at_trx_commit=0 дефолтом значение ключа =1, суть в том , что дефолтом (при значении равном 1) flush и буффер лога реплики сбрасывается на диск…