Skip to content

导出mysql数据

问题-只备份mysql里一个数据库

如何对mysql5.7的一个名称叫LikeGirlv520的数据库做完全备份,然后导入到新的一台已经安装了mysql5.7的机器上?请给出详细的操作过程

回答

以下是 MySQL 5.7 数据库 LikeGirlv520 的完整备份与迁移到新机器的详细步骤:


步骤1:在源服务器上备份数据库

使用 mysqldump 导出数据库

  1. 登录 MySQL:

    bash
    mysql -u root -p
  2. 确认数据库名称和表:

    sql
    SHOW DATABASES;
    USE LikeGirlv520;
    SHOW TABLES;
  3. 退出 MySQL,使用 mysqldump 导出数据库:

    bash
    mysqldump -u root -p --databases LikeGirlv520 > LikeGirlv520_backup.sql

    参数说明

    • --databases:导出指定数据库(包括创建数据库的语句)。
    • LikeGirlv520_backup.sql:导出的文件名。
  4. 检查备份文件:

    bash
    head -n 10 LikeGirlv520_backup.sql

    确保文件包含 CREATE DATABASEUSE 语句。


步骤2:将备份文件传输到目标服务器

使用 scp 或其他工具将备份文件传输到目标服务器:

bash
scp LikeGirlv520_backup.sql user@target_server:/path/to/destination/

说明

  • user:目标服务器的用户名。
  • target_server:目标服务器的 IP 或域名。
  • /path/to/destination/:目标服务器上的存储路径。

步骤3:在目标服务器上导入数据库

  1. 登录目标服务器,确认 MySQL 服务已启动:
    bash
    sudo systemctl status mysql
  2. 导入数据库:
    bash
    mysql -u root -p < /path/to/destination/LikeGirlv520_backup.sql
  3. 确认导入成功:
    • 登录 MySQL:
      bash
      mysql -u root -p Admin@2024ghT
    • 检查数据库和表:
      sql
      SHOW DATABASES;
      USE LikeGirlv520;
      SHOW TABLES;

步骤4:验证数据完整性

  1. 在目标服务器上查询部分数据:
    sql
    SELECT * FROM LikeGirlv520.your_table LIMIT 10;
  2. 对比源服务器和目标服务器的数据是否一致。

注意事项

  1. 权限问题:确保目标服务器的 MySQL 用户有足够的权限创建数据库和导入数据。
  2. MySQL 版本一致性:源和目标服务器的 MySQL 版本应一致(均为 5.7),避免兼容性问题。
  3. 大数据库优化:如果数据库较大,可以启用 --single-transaction 选项以避免锁表:
    bash
    mysqldump -u root -p --single-transaction --databases LikeGirlv520 > LikeGirlv520_backup.sql
  4. 压缩备份文件:如果备份文件较大,可以压缩后再传输:
    bash
    gzip LikeGirlv520_backup.sql
    scp LikeGirlv520_backup.sql.gz user@target_server:/path/to/destination/
    gunzip /path/to/destination/LikeGirlv520_backup.sql.gz

总结

  • 备份:使用 mysqldump 导出数据库。
  • 传输:通过 scp 将备份文件传输到目标服务器。
  • 导入:在目标服务器上使用 mysql 命令导入数据。
  • 验证:检查数据库和表是否完整。

按照以上步骤操作,即可成功迁移 LikeGirlv520 数据库。

🍊

再提问-mysql完全备份

以上是只备份mysql的一个数据库,但我我想把源服务器的整个mysql完全做个备份,然后导入到新的机器上,该如何做呢?

回答

如果你想对整个 MySQL 实例(包括所有数据库、用户、权限等)进行完全备份并迁移到新机器,以下是详细的步骤:


步骤1:在源服务器上做完全备份

方法1:使用 mysqldump 备份所有数据库

  1. 登录 MySQL:

    bash
    mysql -u root -p
  2. 查看所有数据库:

    sql
    SHOW DATABASES;
  3. 使用 mysqldump 备份所有数据库:

    bash
    mysqldump -u root -p --all-databases --events --routines --triggers > full_backup.sql

    参数说明

    • --all-databases:备份所有数据库。
    • --events:备份事件调度器。
    • --routines:备份存储过程和函数。
    • --triggers:备份触发器。
    • full_backup.sql:备份文件名。
  4. 检查备份文件:

    bash
    head -n 10 full_backup.sql

    确保文件包含 CREATE DATABASECREATE USERGRANT 语句。

方法2:备份 MySQL 数据目录

  1. 停止 MySQL 服务:
    bash
    sudo systemctl stop mysql
  2. 备份 MySQL 数据目录(默认路径为 /var/lib/mysql):
    bash
    sudo tar -czvf mysql_data_backup.tar.gz /var/lib/mysql
  3. 启动 MySQL 服务:
    bash
    sudo systemctl start mysql

步骤2:将备份文件传输到目标服务器

使用 scp 或其他工具将备份文件传输到目标服务器:

bash
scp full_backup.sql user@target_server:/path/to/destination/
# 或者(如果使用数据目录备份)
scp mysql_data_backup.tar.gz user@target_server:/path/to/destination/

步骤3:在目标服务器上恢复

方法1:使用 mysqldump 备份文件恢复

  1. 登录目标服务器,确认 MySQL 服务已安装并启动:
    bash
    sudo systemctl status mysql
  2. 导入备份文件:
    bash
    mysql -u root -p < /path/to/destination/full_backup.sql
  3. 确认导入成功:
    bash
    mysql -u root -p
    SHOW DATABASES;
    SELECT User, Host FROM mysql.user;

方法2:使用数据目录备份恢复

  1. 停止 MySQL 服务:
    bash
    sudo systemctl stop mysql
  2. 删除目标服务器的 MySQL 数据目录:
    bash
    sudo rm -rf /var/lib/mysql
  3. 解压备份文件到 MySQL 数据目录:
    bash
    sudo tar -xzvf /path/to/destination/mysql_data_backup.tar.gz -C /var/lib/
  4. 修改数据目录权限:
    bash
    sudo chown -R mysql:mysql /var/lib/mysql
  5. 启动 MySQL 服务:
    bash
    sudo systemctl start mysql
  6. 确认恢复成功:
    bash
    mysql -u root -p
    SHOW DATABASES;
    SELECT User, Host FROM mysql.user;

步骤4:验证恢复结果

  1. 检查数据库
    sql
    SHOW DATABASES;
    USE your_database;
    SHOW TABLES;
  2. 检查用户和权限
    sql
    SELECT User, Host FROM mysql.user;
    SHOW GRANTS FOR 'your_user'@'your_host';
  3. 测试应用程序:确保应用程序可以正常连接并访问数据库。

注意事项

  1. MySQL 版本一致性:源和目标服务器的 MySQL 版本应一致,避免兼容性问题。
  2. 备份文件大小:如果备份文件较大,可以使用压缩工具(如 gzip)压缩后再传输。
  3. 数据目录恢复问题
    • 确保目标服务器的 MySQL 配置(如 my.cnf)与源服务器一致。
    • 如果源服务器和目标服务器的硬件或操作系统不同,建议使用 mysqldump 方式迁移。
  4. 用户权限问题:如果目标服务器上有同名用户,可能需要手动调整权限。

总结

  • 完全备份:使用 mysqldump 备份所有数据库,或直接备份 MySQL 数据目录。
  • 传输:将备份文件传输到目标服务器。
  • 恢复:在目标服务器上导入备份文件或替换数据目录。
  • 验证:检查数据库、用户和权限是否完整。

按照以上步骤操作,即可成功迁移整个 MySQL 实例。

🍊

自己思考

目前php7.4 mysql5.7都是yum方式安装的。

声明

作者:One

版权:此文章版权归 One 所有,如有转载,请注明出处!

链接:可点击右上角分享此页面复制文章链接

上次更新时间:

最近更新