Howto Mysql

howto_mysql.1555596381.txt.gz | Хозяин: admin | Изменен: 20.05.2019 15:18 admin | Утвержден(admin 2019/04/18 10:06)
Новейший утвержденный

Это старая версия документа.


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

pidof mysqld
30015
strace -s 1000 -f -p 30015 &>/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,

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