百度
360搜索
搜狗搜索

linux复制数据库命令详细介绍

在 Linux 系统中复制数据库的具体操作取决于使用的数据库类型,以下是常见数据库的复制方法:

一、MySQL/MariaDB 数据库复制

MySQL 复制数据库通常通过逻辑备份 + 导入的方式实现,适用于在线复制(无需停止服务)。

步骤 1:使用 mysqldump 导出原数据库

mysqldump 是 MySQL 自带的备份工具,可将数据库结构和数据导出为 SQL 脚本。
命令格式:
bash

mysqldump  用户名  原数据库名  备份文件.sql

  • -u:指定数据库用户名(如 root)。
  • -p:提示输入密码(输入时无回显)。
  • 原数据库名:需要复制的源数据库名称(如 old_db)。
  • 备份文件.sql:导出的 SQL 脚本存储路径(如 backup.sql)。

示例:
bash

mysqldump  root  old_db  /tmp/old_db_backup.sql

步骤 2:创建新数据库并导入备份

需先创建一个空的目标数据库,再将备份的 SQL 脚本导入。

  1. 登录 MySQL 创建新数据库
    bash
    mysql  root   

    • -e:直接执行后续的 SQL 命令(无需进入交互式终端)。

  2. 导入备份到新数据库
    bash
    mysql  root  new_db  /tmp/old_db_backup.sql

    • 该命令会将 backup.sql 中的 SQL 语句执行到 new_db 数据库中,完成数据复制。

二、PostgreSQL 数据库复制

PostgreSQL 可通过 pg_dump(导出)和 psql(导入)组合实现数据库复制。

步骤 1:使用 pg_dump 导出原数据库

pg_dump 是 PostgreSQL 的逻辑备份工具,支持导出为 SQL 脚本。
命令格式:
bash

pg_dump  用户名  原数据库名  备份文件.sql

  • -U:指定数据库用户名(如 postgres)。
  • -d:指定源数据库名(如 old_db)。
  • -f:指定备份文件路径(如 /tmp/old_db_backup.sql)。

示例:
bash

pg_dump  postgres  old_db  /tmp/old_db_backup.sql

步骤 2:创建新数据库并导入备份

  1. 创建新数据库(需先登录 psql 或使用命令行):
    bash
    createdb  postgres new_db

  2. 导入备份到新数据库
    bash
    psql  postgres  new_db  /tmp/old_db_backup.sql

三、文件级复制(适用于离线场景)

若数据库支持文件级复制(如 MySQL 的 MyISAM 引擎、PostgreSQL 的文件存储),可直接复制数据文件,但需注意:

  • 数据库必须离线(停止服务),否则可能导致数据不一致。
  • 权限一致:复制后的文件需与原数据库用户(如 mysqlpostgres)权限匹配。
  • 存储引擎限制:InnoDB 引擎需额外处理(如复制 ibdata1ib_logfile* 等共享文件)。

MySQL 文件级复制示例

  1. 停止 MySQL 服务:
    bash
    systemctl stop mysql

  2. 复制数据目录(通常在 /var/lib/mysql/[原数据库名])到新路径:
    bash
      /var/lib/mysql/old_db /var/lib/mysql/new_db

  3. 调整文件权限(确保属主为 mysql 用户):
    bash
      mysql:mysql /var/lib/mysql/new_db

  4. 启动 MySQL 服务:
    bash
    systemctl start mysql

注意事项

  • 逻辑备份(mysqldump/pg_dump)更通用,适合在线复制;文件级复制速度快,但风险较高(依赖存储引擎和离线状态)。
  • 复制大数据库时,建议添加 --single-transaction(MySQL)或 -Fc(PostgreSQL 压缩格式)优化备份速度。
  • 操作前务必确认数据库版本兼容(如原库和目标库的 MySQL 版本差异不宜过大)。

阅读更多 >>>  增删改查sql语句面试,sqlyog增删改查

网站数据信息

"linux复制数据库命令"浏览人数已经达到17次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux复制数据库命令的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!