欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > mysql的语句备份详解

mysql的语句备份详解

2025/2/8 13:00:48 来源:https://blog.csdn.net/2301_81704123/article/details/145491406  浏览:    关键词:mysql的语句备份详解

使用mysqldump工具备份(适用于逻辑备份)

mysqldump是 MySQL 自带的一个非常实用的逻辑备份工具,它可以将数据库中的数据和结构以 SQL 语句的形式导出到文件中。

1. 备份整个数据库
mysqldump -u [用户名] -p [数据库名] > [备份文件名].sql

参数说明

  • -u [用户名]:指定连接 MySQL 服务器的用户名。
  • -p:表示需要输入该用户的密码。
  • [数据库名]:要备份的数据库名称。
  • >:将备份内容重定向到指定的文件。
  • [备份文件名].sql:指定备份文件的名称,通常以 .sql 结尾。

示例:备份名为 testdb 的数据库,用户名为 root

mysqldump -u root -p testdb > testdb_backup.sql

执行该命令后,系统会提示你输入 root 用户的密码,输入正确密码后,testdb 数据库的备份文件 testdb_backup.sql 就会生成在当前目录下。

2. 备份多个数据库
mysqldump -u [用户名] -p --databases [数据库名1] [数据库名2] ... > [备份文件名].sql

示例:备份 testdb1 和 testdb2 两个数据库。

mysqldump -u root -p --databases testdb1 testdb2 > multiple_dbs_backup.sql
3. 备份所有数据库
mysqldump -u [用户名] -p --all-databases > [备份文件名].sql

示例

mysqldump -u root -p --all-databases > all_dbs_backup.sql

使用mysqlpump工具备份(适用于高并发场景,MySQL 5.7 及以上版本)

mysqlpump 是 MySQL 5.7 引入的一个新的逻辑备份工具,相比 mysqldump,它在处理高并发场景时性能更好。

备份整个数据库
mysqlpump -u [用户名] -p [数据库名] > [备份文件名].sql

示例:备份 testdb 数据库。

mysqlpump -u root -p testdb > testdb_mysqlpump_backup.sql

使用 MySQL 命令行进行物理备份(适用于 InnoDB 存储引擎)

物理备份是直接复制数据库的物理文件,这种方法速度快,但需要在数据库停止服务时进行,适用于 InnoDB 存储引擎。

1. 停止 MySQL 服务
# 对于使用systemd的系统
sudo systemctl stop mysql
# 对于使用SysVinit的系统
sudo service mysql stop
2. 复制数据库文件

数据库文件通常存储在 /var/lib/mysql 目录下,你可以将需要备份的数据库文件夹复制到其他位置。

sudo cp -R /var/lib/mysql/[数据库名] /path/to/backup/directory

示例:备份 testdb 数据库。

sudo cp -R /var/lib/mysql/testdb /home/user/backup/
3. 启动 MySQL 服务
# 对于使用systemd的系统
sudo systemctl start mysql
# 对于使用SysVinit的系统
sudo service mysql start

以上就是几种常见的 MySQL 备份方法及其具体操作,你可以根据实际需求选择合适的备份方式。

  1. 创建目标数据库(如果需要)
    如果备份文件是针对某个特定数据库的,而该数据库在当前 MySQL 服务器中不存在,需要先创建该数据库。在 MySQL 命令行中执行以下命令:

    CREATE DATABASE [数据库名];
    

    例如,创建名为 testdb 的数据库:
    CREATE DATABASE testdb;
    
  2. 选择目标数据库
    使用以下命令选择要恢复数据的数据库:
    USE [数据库名];
    

    例如,选择 testdb 数据库:
    USE testdb;
    
  3. 执行备份文件恢复数据
    退出 MySQL 命令行(输入 EXIT; 或按 Ctrl + D),然后在终端中执行以下命令来恢复数据:
    mysql -u [用户名] -p [数据库名] < [备份文件名].sql
    

    例如,使用 testdb_backup.sql 文件恢复 testdb 数据库:
    mysql -u root -p testdb < testdb_backup.sql
    
    4.也可以在mysql中恢复备份语句
  • 执行备份文件中的 SQL 语句:
SOURCE 备份文件的完整路径;

例如,备份文件在 /home/user/backup/testdb_backup.sql

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com