zoukankan      html  css  js  c++  java
  • myslqdump导入导出

    mysqldump最常用于备份一个整个的数据库:

    语法:

    导出语法
    shell> mysqldump --opt db_name > backup-file.sql 你可以这样将转储文件读回到服务器: shell> mysql db_name < backup-file.sql 或者为: shell> mysql -e "source /path-to--backup/backup-file.sql" db_name

    导出例子:

    C:Windowssystem32>mysqldump -u root -p study > D:study.sql
    Enter password: ******
    
    导入例子:
    
    C:Windowssystem32>mysql -u root -p study <D:study.sql
    Enter password: ******
    
    C:Windowssystem32>mysql -e "source D:study.sql" study -u root -p
    Enter password: ******

    mysqldump也可以用于从一个Mysql服务器向另一个服务器复制数据时装载数据库:

    shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
    
    可以用一个命令转储几个数据库:
    
    shell> mysqldump ---database db_name1 [db_name2...] > my_databases.sql
    
    如果你想转储所有数据库,使用--all--database选项:
    
    shell> mysqldump --all-databases > all_databases.sql

    如果表保存在InnoDB存储引擎中,mysqldump提供了一种联机备份的途径(参见下面的命令)。该备份只需要在开始转储时对所有表进行全局读锁定(使用FLUSH TABLES WITH READ LOCK)。获得锁定后,读取二进制日志的相应内容并将锁释放。因此如果并且只有当发出FLUSH...时正执行一个长的更新语句,MySQL服务器才停止直到长语句结束,然后转储则释放锁。因此如果MySQL服务器只接收到短("短执行时间")的更新语句,即使有大量的语句,也不会注意到锁期间。

    shell> mysqldump --all-databases --single-transaction > all_databases.sql

    对于点对点恢复(也称为“前滚”,当你需要恢复旧的备份并重放该备份以后的更改时),循环二进制日志(参见5.11.3节,“二进制日志”)或至少知道转储对应的二进制日志内容很有用:

    shell> mysqldump --all-databases --master-data=2 > all_databases.sql
    shell> mysqldump --all-databases --flush-logs --master-data=2 > all_databases.sql

    如果表保存在InnoDB存储引擎中,同时使用--master-data和--single-transaction提供了一个很方便的方式来进行适合点对点恢复的联机备份。

  • 相关阅读:
    基于UDP的聊天室一例
    用原始套接字编程实现linux中的 ping 命令
    UNIX域流式套接字一例
    基于TCP的多进程echo服务器
    网络数据包检测抓包一例
    Java中static、final用法小结
    TCP/IP 组播的发送和接收
    Java数据库连接字符串
    对java中的访问限定符的理解1
    UNIX域用户数据报套接字一例
  • 原文地址:https://www.cnblogs.com/zykLove/p/12720241.html
Copyright © 2011-2022 走看看