zoukankan      html  css  js  c++  java
  • Mysql数据库(九)备份与恢复

      一、数据备份

      1.使用mysqldmp命令备份

      (1)备份一个数据库

    mysqldump -u root -p dbname table1 table2 ... > D:BackName.sql
    

      (2)备份多个数据库

    mysqldump -u root -p --databases dbname1 dbname2 > D:BackName.sql
    

      (3)备份所有数据库

    mysqldump -u root -p --all-databases > D:BackName.sql
    

      2.直接复制整个数据库目录(先找到数据库文件的保存位置,然后将数据库文件直接复制出来)

    show variables like '%datadir%';
    

      3.使用mysqlhotcopy工具快速备份(是一个Perl脚本,主要在Linux操作系统下使用,只能备份MyLSAM类型的表)

      二、数据恢复

      1.使用mysql命令还原

    mysql -u root -p db_librarybak < D:db_library.sql
    

      2.直接复制到数据库目录(对InnoDB类型的表不可用)

      三、数据库迁移

      1.MySQL数据库之间的迁移

    mysqldump -h host1 -u root --password=password1 --all-databases | 
    mysql -h host2 -u root --password=password2
    

      2.不同数据库之间的迁移

      (1)在Windows下,通常可以使用MyODBC实现MySQL数据库与SQL Server之间的迁移。

      (2)将MySQL数据库迁移到Oracle数据库时,需要使用mysqldump命令先导出SQL文件,再手动修改SQL文件中的CREATE语句。

      四、表的导出和导入

      1.用SELECT...INTO OUTFILE导出文本文件

      (1)指定的目标路径只能是MySql的secure_file_priv参数所指定的位置。

    mysql> select @@secure_file_priv
        -> ;
    +-------------------------------------------------+
    | @@secure_file_priv                              |
    +-------------------------------------------------+
    | C:mysoftwareJavamysql-5.7.20-winx64Uploads |
    +-------------------------------------------------+
    1 row in set (0.00 sec)
    

      (2)使用SELECT...INTO OUTFILE导出文本文件

    mysql> use db_library;
    Database changed
    mysql> select * from tb_bookinfo INTO OUTFILE 'C:/mysoftware/Java/mysql-5.7.20-winx64/Uploads/bookinfo.txt';
    Query OK, 3 rows affected (0.01 sec)
    

     

      2.用mysqldump命令导出文本文件

    C:UsersBigJun>mysqldump -u root -p -T "C:/mysoftware/Java/mysql-5.7.20-winx64/Uploads" db_library tb_bookinfo
    Enter password: *********
    

     

      mysqldump命令还可以导出xml格式的文件。

    C:UsersBigJun>mysqldump -u root -p --xml  db_library tb_bookinfo > D:
    ame.xml
    Enter password: *********
    

      3.用mysql命令导出文本文件

    C:UsersBigJun>mysql -u root -p -e "SELECT * FROM tb_bookinfo" db_library > D:/bookinfo3.txt
    Enter password: *********
    
    mysql -u root -p --xml -e "SELECT * FROM tb_bookinfo" db_library > D:/bookinfo3.xml
    
    mysql -u root -p --html -e "SELECT * FROM tb_bookinfo" db_library > D:/bookinfo3.html
    
  • 相关阅读:
    Android研究之游戏开发处理按键的响应
    C语言指针的初始化和赋值
    Cloudera CDH 5集群搭建(yum 方式)
    未将对象引用设置到对象的实例--可能出现的问题总结
    内存泄漏以及常见的解决方法
    都能看懂的嵌入式linux/android alsa_aplay alsa_amixer命令行使用方法
    Life is hard!
    EasyUI基础入门之Resiable(可缩放)
    Android -- Looper.prepare()和Looper.loop() —深入版
    vi 命令 使用方法
  • 原文地址:https://www.cnblogs.com/BigJunOba/p/8880239.html
Copyright © 2011-2022 走看看