Linux MariaDB 数据迁移方法
一 常用方案与适用场景
二 标准流程与命令示例
mysqldump -u [用户名] -p[密码] --opt --default-character-set=utf8 --hex-blob [数据库名] > backup.sql
mysqldump -u [用户名] -p[密码] --opt --default-character-set=utf8 --hex-blob --all-databases > all.sql
scp backup.sql [目标用户]@[目标IP]:/path/to/dest/
mysql -u [用户名] -p[密码] -e "CREATE DATABASE IF NOT EXISTS [数据库名] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u [用户名] -p[密码] [数据库名] < backup.sql
mysql -u [用户名] -p[密码] -e "USE [数据库名]; SHOW TABLES; SELECT COUNT(*) FROM [表名];"
mysql -u [用户名] -p[密码] -e "OPTIMIZE TABLE [表名];"
sudo apt-get update && sudo apt-get install percona-xtrabackup-24
xtrabackup --backup --target-dir=/path/to/backup --user=[用户名] --password=[密码]
tar -czvf backup.tar.gz -C /path/to/backup .
scp backup.tar.gz [目标用户]@[目标IP]:/path/to/dest/
tar -xzvf backup.tar.gz -C /path/to/backup
xtrabackup --prepare --target-dir=/path/to/backup
xtrabackup --copy-back --target-dir=/path/to/backup --datadir=/var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
systemctl restart mariadb
三 云上 RDS 与不停机迁移
四 注意事项与常见问题