| Version 12 (modified by , 10 days ago) ( diff ) |
|---|
Backup
Logical Backup
- mysqldump - Стандардна алатка за logical backups
- Целосна резервна копија:
mysqldump -u root -p airportdb > airportdb_backup.sql - Специфични табели:
mysqldump -u root -p airportdb flight flight_log > partial_backup.sql - Компресија:
mysqldump -u root -p airportdb | xz > airportdb_backup.sql.xz - JSON:
mysqldump -u root -p airportdb | mysql2json > airportdb_backup.json(Можно и во XML & CSV) - Само структура (без податоци):
mysqldump -u root -p --no-data airportdb > schema_only.sql
- Целосна резервна копија:
Physical Backup
- Целосен physical backup:
mysqlbackup --backup-dir=/backup/full_backup backup - XtraBackup (САМО ЗА LINUX!!!):
- Чекор 1:
xtrabackup --backup --target-dir=/backups/full_backup - Чекор 2:
xtrabackup --prepare --target-dir=/backups/full_backup - Чекор 3: restoration
- Чекор 1:
- Manual Backup:
- Чекор 1: Stop MySQL -
net stop MySQL80 | sudo systemctl stop mysql - Чекор 2: Копирање на MySQL data directory - C:\ProgramData\MySQL\MySQL Server 8.0\Data | /var/lib/mysql/
- Чекор 3: Start MySQL -
net start MySQL80 | sudo systemctl start mysql
- Чекор 1: Stop MySQL -
Restoration
Logical Restore
- Враќање на целата база:
mysql -u root -p airportdb < airportdb_backup.sql - За враќање на специфични табели од целосниот backup треба:
- Метод 1: Extract со sed
- Метод 2: Extract со grep
- Метод 3: Со awk
mysql -u root -p airportdb < extracted_table.sql
Од целосен SQL backup не може директно да се враќаат само одредени табели – мора прво да се издвојат со sed/grep/awk и да се внесе само тој дел во MySQL.
Physical Restore
- Stop MySQL:
net stop MySQL80 | sudo systemctl stop mysql - Избриши ја старата data directory (или rename): C:\ProgramData\MySQL\MySQL Server 8.0\Data | /var/lib/mysql/
- Копирање на backup-от назад во data directory
- Start MySQL: net start MySQL80 | sudo systemctl stop mysql`
- XtraBackup:
- Подготовка на backup-от: xtrabackup --prepare --target-dir=/backups/full_backup
- Stop MySQL:
net stop MySQL80 | sudo systemctl stop mysql - Враќање на backup-от:
sudo xtrabackup --copy-back --target-dir=/backups/full_backup - Поставување на дозволи:
sudo chown -R mysql:mysql /var/lib/mysql - Start MySQL: net start MySQL80 | sudo systemctl stop mysql`
Point-in-Time Recovery (PITR)
Automation
Note:
See TracWiki
for help on using the wiki.
