1.物理冷备份与恢复
• 关闭MySQL数据库
• 使用tar命令直接打包数据库文件夹
• 直接替换现有完全备份一个或多个完整的库(包括其中所有的表)ySQL目录即可
#导出的备份文件就是数据库脚本文件
mysqldump -u root -p[密码] --databases 库名1 [库名2] ... > /备份路径/备份文件名.sql
例:
mysqldump -u root -p 123456 --databases school > /opt/school.sql
mysqldump -u root -p123456 --databases mysql school > /opt/mysql-school.sql
完全备份指定库中的部分表
mysqldump -u root -p[密码] [-d] 库名 [表名1] [表名2] ... > /备份路径/备份文件名.sql
#使用" -d "选项,说明只保存数据库的表结构
#不使用" -d "选项,说明表数据也进行备份
例:
mysqldump -u root -p school class > /opt/school_class.sql
恢复
systemctl start mysqld
(1)恢复数据库
mysql -u root -p -e 'drop database kgc;'
#"-e"选项,用于指定连接 MySQL 后执行的命令,命令执行完后自动退出
mysql -u root -p -e 'SHOW DATABASES;'
mysql -u root -p < /opt/kgc.sql
mysql -u root -p -e 'SHOW DATABASES;'
(2)恢复数据表
当备份文件中只包含表的备份,而不包含创建的库的语句时,执行导入操作时必须指定库名,且目标库必须存在。
mysqldump -u root -p kgc info1 > /opt/kgc_info1.sql
mysql -u root -p -e 'drop table kgc.info1;'
mysql -u root -p -e 'show tables from kgc;'
mysql -u root -p kgc < /opt/kgc_info1.sql
mysql -u root -p -e 'show tables from kgc;'