Срочно нужна помощь CENTOS UTM MySQL innodb
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
Срочно нужна помощь CENTOS UTM MySQL innodb
Прошу помощи с базой MySQL innodb
Система CentOS Linux 5 Utm 5.2.1-006 PPPoE Microtik utm_radius
Проблема заключается в том что /var/lib/mysql/ibdata1 весит 94 gb
база на мускуле одна, когда файл весил около 70 гб все было в норме чуть притормаживало при запросах, буквально за месяц он вырос до 94 гб и теперь начались проблемы что мускул грузит проц до 120% и ничего не рабоает (. Месяц назад я делал бэкап и у меня получилось почти 27 гиг и я был очень удивлен такому размеру, при том что бэкап другой базы на другом сервере весит 400 мегбайт. Получается база где 700 аккаунтов и PPPoE бэкап 27 гиг, база где 400 аккаунтов и IP+MAC(NAT) 400 мегабайт.
Вопросы:
1. Как уменьшить или вообще что либо сделать с файлом /var/lib/mysql/ibdata1
2. Почему такая большая разница между бэкапами баз с разных серверов
3. Как избежать раздувание файла /var/lib/mysql/ibdata1
Система CentOS Linux 5 Utm 5.2.1-006 PPPoE Microtik utm_radius
Проблема заключается в том что /var/lib/mysql/ibdata1 весит 94 gb
база на мускуле одна, когда файл весил около 70 гб все было в норме чуть притормаживало при запросах, буквально за месяц он вырос до 94 гб и теперь начались проблемы что мускул грузит проц до 120% и ничего не рабоает (. Месяц назад я делал бэкап и у меня получилось почти 27 гиг и я был очень удивлен такому размеру, при том что бэкап другой базы на другом сервере весит 400 мегбайт. Получается база где 700 аккаунтов и PPPoE бэкап 27 гиг, база где 400 аккаунтов и IP+MAC(NAT) 400 мегабайт.
Вопросы:
1. Как уменьшить или вообще что либо сделать с файлом /var/lib/mysql/ibdata1
2. Почему такая большая разница между бэкапами баз с разных серверов
3. Как избежать раздувание файла /var/lib/mysql/ibdata1
- Chrst
- Сообщения: 370
- Зарегистрирован: Пт май 11, 2007 09:28
- Откуда: Медиахолдинг "ЛеККС"
- Контактная информация:
Re: Срочно нужна помощь CENTOS UTM MySQL innodb
1. Архивирование списаний.steckovski писал(а): Вопросы:
1. Как уменьшить или вообще что либо сделать с файлом /var/lib/mysql/ibdata1
2. Почему такая большая разница между бэкапами баз с разных серверов
3. Как избежать раздувание файла /var/lib/mysql/ibdata1
2. Разные настройки MySQL, разный объем потребляемого трафика
3. Архивирование списаний.
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
Re: Срочно нужна помощь CENTOS UTM MySQL innodb
Каким образом выполнить архивирование списаний при условии что этого до меня с этой базой никогда не делал, база в таком состоянии досталась по наследству и я сам эту операцию никогда не выполнялChrst писал(а):1. Архивирование списаний.steckovski писал(а): Вопросы:
1. Как уменьшить или вообще что либо сделать с файлом /var/lib/mysql/ibdata1
2. Почему такая большая разница между бэкапами баз с разных серверов
3. Как избежать раздувание файла /var/lib/mysql/ibdata1
2. Разные настройки MySQL, разный объем потребляемого трафика
3. Архивирование списаний.
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
У вас всего одна база на движке InnoDB? И эта база - UTM5? И у вас нет репликации?
Если да по всем трем вопросам, то делаем так:
1. Снимаем дамп базы
2. Удаляем базу
3. Останавливаем MySQL
4. Находим и затираем файлы ib_logfile*, ibdata1
5. Включаем в конфиге MySQL опцию innodb_file_per_table=1
6. Запускаем MySQL, он снова создает эти файлы
7. Вливаем базу с дампа
8. Смотрим какая таблица сколько съела (файлы .ibd в каталоге базы)
9. Думаем, что делать, возможно, архивацию данных из этих таблиц
Если не уверены в успехе операции, перед началом скопируйте весь каталог с базами MySQL в другое место, файлы ib_logfile* и ibdata1 тоже должны быть скопированы, обычно они в том же каталоге. Скопируйте также текущий конфиг. Это нужно делать при остановленном MySQL. Если что пойдет не так, можно будет быстро и безболезненно откатиться к тому, что было.
Если да по всем трем вопросам, то делаем так:
1. Снимаем дамп базы
2. Удаляем базу
3. Останавливаем MySQL
4. Находим и затираем файлы ib_logfile*, ibdata1
5. Включаем в конфиге MySQL опцию innodb_file_per_table=1
6. Запускаем MySQL, он снова создает эти файлы
7. Вливаем базу с дампа
8. Смотрим какая таблица сколько съела (файлы .ibd в каталоге базы)
9. Думаем, что делать, возможно, архивацию данных из этих таблиц
Если не уверены в успехе операции, перед началом скопируйте весь каталог с базами MySQL в другое место, файлы ib_logfile* и ibdata1 тоже должны быть скопированы, обычно они в том же каталоге. Скопируйте также текущий конфиг. Это нужно делать при остановленном MySQL. Если что пойдет не так, можно будет быстро и безболезненно откатиться к тому, что было.
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
Сейчас бьюс как сделать дамп базы следующим образом:JAO писал(а):У вас всего одна база на движке InnoDB? И эта база - UTM5? И у вас нет репликации?
Если да по всем трем вопросам, то делаем так:
1. Снимаем дамп базы
2. Удаляем базу
3. Останавливаем MySQL
4. Находим и затираем файлы ib_logfile*, ibdata1
5. Включаем в конфиге MySQL опцию innodb_file_per_table=1
6. Запускаем MySQL, он снова создает эти файлы
7. Вливаем базу с дампа
8. Смотрим какая таблица сколько съела (файлы .ibd в каталоге базы)
9. Думаем, что делать, возможно, архивацию данных из этих таблиц
Если не уверены в успехе операции, перед началом скопируйте весь каталог с базами MySQL в другое место, файлы ib_logfile* и ibdata1 тоже должны быть скопированы, обычно они в том же каталоге. Скопируйте также текущий конфиг. Это нужно делать при остановленном MySQL. Если что пойдет не так, можно будет быстро и безболезненно откатиться к тому, что было.
1. Снимаем дамп без учета таблиц discount_transactions_all и discount_transactions_iptraffic_all
2. Снимаем дамп таблиц discount_transactions_all и discount_transactions_iptraffic_all но с параметром установки даты например только начиная с 01.11.2010 и по сей день
нашел скрипт на форуме который вытаскивает отдельно таблицы но ни как не получеться ему задать правильно дату а именно discount_date и вообще я столкнулся проблемой как правильно воспринимать и расчитывать реальную дату вида dd.mm.yy и значения в базе типа 1288569599
Код: Выделить всё
#!/bin/sh
for TABLE in $(echo "show tables" | mysql -u root UTM5 |grep -v Tables_in_ |grep -y 'discount_transactions_*')
do
mysqldump -v --add-drop-table -u root UTM5 ${TABLE} > /mnt/mysqldumpfile_$TABLE.sql
done
если ручками то такsteckovski писал(а):нашел скрипт на форуме который вытаскивает отдельно таблицы но ни как не получеться ему задать правильно дату а именно discount_date и вообще я столкнулся проблемой как правильно воспринимать и расчитывать реальную дату вида dd.mm.yy и значения в базе типа 1288569599
или же так
-
- Сообщения: 31
- Зарегистрирован: Сб июл 26, 2008 11:58
со временем теперь понятно а как переделать скрипт чтоб по discount_date параметру забирать из базы ?starchik писал(а):если ручками то такsteckovski писал(а):нашел скрипт на форуме который вытаскивает отдельно таблицы но ни как не получеться ему задать правильно дату а именно discount_date и вообще я столкнулся проблемой как правильно воспринимать и расчитывать реальную дату вида dd.mm.yy и значения в базе типа 1288569599
или же так