zoukankan      html  css  js  c++  java
  • 从零开始——Mysql备份还原数据库

     1、使用phpmysql导入导出

    特点:方便但是有限制

    2、 使用into outfile 和 load data infile导入导出备份数据

    这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你可以直接导入另外一个同数据库的不同表中,相对于mysqldump比较灵活机动。

    我们来看下面的例子:

    (1)下面的mysql命令是把select的mytable表中的数据导出到/home/db_bak2012文件。

    select * from mytable where status!=0 and name!='' into outfile '/home/db_bak2012'
    fields terminated by '|' enclosed by '"' lines terminated by '
    ' ;

    导入刚才备份的数据,可以使用load file方法,下面的mysql命令,把导出的数据导入了mytable_bak的表中:

    load data infile '/home/db_bak2012' into table mytable_bak
    fields terminated by '|' enclosed by '"' lines terminated by '
    ' ;

    3、 使用mysqldump导出固定条件的数据库

    我们来看几个常用用例:
    (1)导出整个数据库

    mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
    mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

    (2)导出一个表

    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

    (3)导出一个数据库结构

    mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
    #-d 不导出数据只导出结构 --add-drop-table 在每个create语句之前增加一个drop table 

    (4)导入数据库,常用source 命令

    #进入mysql数据库控制台,
    mysql -u root -p 
    mysql>use 数据库
    mysql>set names utf8; (先确认编码,如果不设置可能会出现乱码,注意不是UTF-8)  #然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql
    >source d:wcnc_db.sql

    上边的实例只是最基础的,有的时候我们可能需要批量导出多个库,我们就可以加上--databases 或者-B,如下语句:

    mysqldump  -uroot -p --databases test mysql #空格分隔

    还有的时候我们可能需要把数据库内所有的库全部备份,我们就可以使用-all-databases,如下语句:

    mysqldump  -uroot -p -all-databases

    可能我们还会有更多的需求,下面是我在网上找的感觉比较全的参数说明,贴出来供大家参考。http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html

  • 相关阅读:
    js之自定义鼠标右键菜单
    js之键盘控制div移动
    js之select标签---省市联动小例子
    html之浮动和定位
    java开发简单的用户管理系统
    ASP.NET Web API 2中的属性路由(Attribute Routing)
    ASP.NET Web API中的路由
    Web API 2中的操作结果
    WebApi~通过HttpClient来调用Web Api接口
    Quartz.NET 作业调度
  • 原文地址:https://www.cnblogs.com/Amagasaki/p/3715967.html
Copyright © 2011-2022 走看看