Howto Mysql
Как профилировать mysql
добавить в my.conf
slow-query-log = 1 slow-query-log-file = /var/log/mysql_slow.log long_query_time = 0.01 log-queries-not-using-indexes
touch /var/log/mysql_slow.log chmod 666 /var/log/mysql_slow.log restart mysql выполняем запросы анализируем mysqldumpslow -t 5 -s at /var/log/mysql_slow.log
Вариант 2
strace -s 1000 -f -p `pidof mysqld` 2>&1 | head -n 100000 &>/tmp/s1 cat /tmp/s1 | grep -i '[^ ]select' | awk '{ printf $7" "$8" "$9" "$10" "$11" "$12" "$13 "\n" }' | sort | uniq -c | sort -n
Как по-быстрому склонить базу на тестовый сервак
1. Делаем клон базы на проде
двойной rsync для быстроты и целостности
rsync -avP /var/lib/mysql/ /tmp/mysql.$(date --iso)/ /etc/init.d/mysqld stop rsync -avP /var/lib/mysql/ /tmp/mysql.$(date --iso)/ /etc/init.d/mysqld start
2. Восстановить базу на тестовый сервак
/etc/init.d/mysqld stop mv /var/lib/mysql /root/delme.mysql.$(date --iso) rsync -avP root@node1.carbonsoft.ru:/vm/vcrm/rootfs/tmp/mysql.$(date --iso)/ /var/lib/mysql/ chown -R mysql:mysql /var/lib/mysql/ /etc/init.d/mysqld start # если ругается на отсутствие сокета при старте mv /var/lib/ib_logfile* /root /etc/init.d/mysqld start
HINT: $(date –iso) может быть разной в екб и мск в ночное время
~~OWNERAPPROVE~~
Прочитал howto howto mysql |
Обсуждение