====== Как профилировать 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~~
/*Не удаляйте эту строку и ниже!*/
{(rater>id=1|name=Прочитал_howto:howto_mysql|type=vote|trace=user|tracedetails=1)}