====== Как профилировать 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)}