Добавить Readme
This commit is contained in:
parent
a898a692af
commit
7ada2c59ce
72
Readme
Normal file
72
Readme
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
Вот надёжный шаблон скрипта для резервного копирования MySQL / MariaDB, полностью аналогичный предыдущему PostgreSQL-скрипту: с логированием, сжатием, безопасной передачей пароля, ротацией старых бэкапов и поддержкой одной или всех баз.
|
||||||
|
|
||||||
|
Файл: mysql-backup.sh
|
||||||
|
|
||||||
|
Как передать пароль безопасно?
|
||||||
|
|
||||||
|
Рекомендуется: файл ~/.my.cnf
|
||||||
|
|
||||||
|
Создайте /root/.my.cnf:
|
||||||
|
|
||||||
|
chmod 600 /root/.my.cnf
|
||||||
|
|
||||||
|
Содержимое:
|
||||||
|
|
||||||
|
[client]
|
||||||
|
host = localhost
|
||||||
|
port = 3306
|
||||||
|
user = root
|
||||||
|
password = ваш_пароль
|
||||||
|
|
||||||
|
Тогда не нужно указывать MYSQL_PASSWORD в скрипте — mysqldump сам прочитает настройки.
|
||||||
|
|
||||||
|
Это самый безопасный способ: пароль не виден в ps, не хранится в скрипте.
|
||||||
|
|
||||||
|
Альтернатива: раскомментируйте MYSQL_PASSWORD
|
||||||
|
|
||||||
|
Скрипт создаст временный .cnf с правами 600 и удалит его после работы (trap гарантирует это).
|
||||||
|
|
||||||
|
Как использовать:
|
||||||
|
|
||||||
|
Сохраните как /root/mysql-backup.sh
|
||||||
|
Сделайте исполняемым:
|
||||||
|
|
||||||
|
chmod +x /root/mysql-backup.sh
|
||||||
|
|
||||||
|
Отредактируйте:
|
||||||
|
MYSQL_DB → например, grafana, zabbix, wordpress
|
||||||
|
Или оставьте "all", чтобы бэкапить всё
|
||||||
|
|
||||||
|
Добавьте в cron:
|
||||||
|
0 1 * * * /root/mysql-backup.sh
|
||||||
|
|
||||||
|
Логи:
|
||||||
|
/root/backups/mysql/backup.log
|
||||||
|
|
||||||
|
Важные опции mysqldump:
|
||||||
|
|
||||||
|
Важные опции mysqldump:
|
||||||
|
Опция
|
||||||
|
--single-transaction
|
||||||
|
Для InnoDB: делает согласованный дамп без блокировки таблиц
|
||||||
|
|
||||||
|
--routines
|
||||||
|
Сохраняет хранимые процедуры и функции
|
||||||
|
|
||||||
|
--triggers
|
||||||
|
Сохраняет триггеры
|
||||||
|
|
||||||
|
--events
|
||||||
|
Сохраняет события планировщика
|
||||||
|
|
||||||
|
--databases
|
||||||
|
Гарантирует, что в дампе будет CREATE DATABASE
|
||||||
|
|
||||||
|
Восстановление:
|
||||||
|
|
||||||
|
gunzip -c /root/backups/mysql/grafana-20260123-0220.sql.gz | mysql -u root -p
|
||||||
|
|
||||||
|
Или, если у вас ~/.my.cnf:
|
||||||
|
gunzip -c backup.sql.gz | mysql
|
||||||
|
|
||||||
|
Если вы используете MariaDB — всё работает точно так же (она совместима с MySQL).
|
||||||
Loading…
Reference in New Issue
Block a user