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
Yes(3) No(2) Clear

Yes:
admin, Сергей Трошин, Сергей Трошин,

No:
, Nikolay Carbonsoft,

Ваш комментарий. Вики-синтаксис разрешён: