在Ubuntu系统中,备份和恢复MySQL数据库是一个重要的任务,以确保数据的安全性和完整性。以下是详细的备份与恢复方法:
备份MySQL数据库
- 备份单个数据库:
mysqldump -h 主机名 -P 端口 -u 用户名 -p"密码" --database 数据库名 > 文件名.sql
例如:
mysqldump -h 10.0.0.9 -P 3306 -uroot -p"123456" --single-transaction --master-data=https://www.yisu.com/ask/2 --set-gtid-purged=OFF --database mydatabase> mydatabase_backup.sql
- 备份多个数据库:
mysqldump -h 主机名 -P 端口 -u 用户名 -p"密码" --database 数据库名1 数据库名2 数据库名3 > 文件名.sql
例如:
mysqldump -h 10.0.0.9 -P 3306 -uroot -p"123456" --single-transaction --master-data=https://www.yisu.com/ask/2 --set-gtid-purged=OFF --database mydatabase db_myblogs db_myOA> mydatabase_db_myblogs_db_myOA_backup.sql
- 备份所有数据库:
mysqldump -h 主机名 -P 端口 -u 用户名 -p"密码" --all-databases > 文件名.sql
例如:
mysqldump -h 10.0.0.9 -P 3306 -uroot -p"123456" --single-transaction --master-data=https://www.yisu.com/ask/2 --set-gtid-purged=OFF --all-databases> all_databases_backup.sql
- 备份特定表:
mysqldump -h 主机名 -P 端口 -u 用户名 -p"密码" 数据库名 表名 > 文件名.sql
例如:
mysqldump -h 10.0.0.9 -P 3306 -uroot -p"123456" --single-transaction --master-data=https://www.yisu.com/ask/2 --set-gtid-purged=OFF db_plus_core tb_doc_permission> tb_doc_permission_backup.sql
- 备份特定多个表:
mysqldump -h 主机名 -P 端口 -u 用户名 -p"密码" 数据库名 表名1 表名2 > 文件名.sql
例如:
mysqldump -h 10.0.0.9 -P 3306 -uroot -p"123456" --single-transaction --master-data=https://www.yisu.com/ask/2 --set-gtid-purged=OFF db_plus_core tb_1 tb_2> tb_1_tb_2_backup.sql
- 压缩备份:
mysqldump -h 主机名 -P 端口 -u 用户名 -p"密码" --database 数据库名 | gzip > 文件名.sql.gz
例如:
mysqldump -h 10.0.0.9 -P 3306 -uroot -p"123456" --single-transaction --master-data=https://www.yisu.com/ask/2 --set-gtid-purged=OFF mydatabase | gzip> mydatabase_backup.sql.gz
恢复MySQL数据库
- 恢复单个数据库:
mysql -u 用户名 -p 新数据库名 < 备份文件.sql
例如:
mysql -u root -p mynewdatabase < mydatabase_backup.sql
- 恢复多个数据库:
mysql -u 用户名 -p -e "create database 新数据库名" mysql -u 用户名 -p 新数据库名 < 备份文件.sql
例如:
mysql -u root -p -e "create database mynewdatabase" mysql -u root -p mynewdatabase < mydatabase_backup.sql
在执行恢复操作前,请确保已经对数据库进行了备份,以免数据丢失。
以上就是在Ubuntu系统中备份和恢复MySQL数据库的方法。