MySQL数据备份还原方式总结:

一、将数据导入到指定的数据库

第一种导入方式:

(linux下和Windows 下语法是一样的,只是路径的书写方式不同而已)

 1、创建一个空数据库

 2、进入MySQL安装目录bin下

 3、导入命令 mysql  -uroot –p密码 数据库名 <  要导入的表数据(d:\bbs.sql)(将选定的表导入到指定的数据库)

 mysql   -uroot  –padmin  databaseName  <d:\dump.sql         (window)

 mysql   -uroot  –padmin databaseName <  /dump.sql        (Linux

  

               (将备份的整个数据库导入)

             4、导入命令: mysql -u用户名    -p密码    <  要导入的数据库数据

         mysql   -uroot  -padmin       <  d:\dump.sql        (window) 

         mysql   -uroot  -padmin       <  /dump.sql        (linux)  

         (将备份出来的数据库导入,这里没有写数据库名,也可以写但要求是要写同样的名称)

       第二种使用Load  Data  infile  命令导入:

             (这里的格式是在 linux下的在window 下修改路劲的写法就可以)

            // 要导入的数据

           Load data infile  '/tmp/dump.txt'   

            // 数据要导入到那个 数据库的那个表,  前提是要有这个表,否则会报 表不存在错误!         

           into  table    linuxtest1.test      

            // fields (属性 字段)    terminated (终止,结束) 属性之间的分隔符 为逗号               

           fields  terminated  by  ','         

            //  optionally(需要,可选择 )  enclosed(封闭)   也就是字符串使用引号                  

           optionally  enclosed by '  " '        

            //   换行符结束一行           

           lines   terminated  by '\n' ;   

                  

          第三种导入方式即 使用source命令:

   Mysql> Use databasename;   

   Mysql>Source d:\dump.sql

    

  导入成功之后:

   

*** 使用第一种方式比较好,推荐使用第一种方式

二、从数据库导出数据

第一种方式使用 mysqldump工具:

(linux 和window 下是同样的语法只是路径的写法不同而已)

1、导出mysql 中的数据库 databaseName

(1)、进入mysql的安装目录  …….bin

(2)、mysqldump  –hlocalhost –uroot –p databaseName >d:\dump.sql  (window)

                                mysqldump  –hlocalhost –uroot –pdatabaseName >/dump.sql     (linux)

(3)、mysqldump  -hlocalhost  -uroot  -padmin  --databases  databaseName > d:\dump.sql (2 3 是一样的)

       

2、导出数据库服务器上的所有数据库
  mysqldump   -hlocalhost  -uroot  -padmin   --all-databases  > dump.sql

3、导出mysql数据库databaseName的tb_user表及数据

 进入mysql安装目录C:\Program Files\MySQL\MySQLServer 5.5\bin>

 mysqldump –hlocalhost  –uroot  –padmin  databaseName  tb_user > d:\dump.sql

         mysqldump  -hlocalhost -uroot -padmin  databaseName  tb_user   --result-file=dump.sql

          ( 这样写是为了在windows下方便)

4、导出mysql数据库databaseName的结构未实现

进入mysql安装目录C:\ProgramFiles\MySQL\MySQL Server 5.5\bin>

mysqldump –hlocalhost –uroot  –padmin   databaseName  -add-drop-table>d:\dump.sql

5、mysql对导入文件大小有限制,最大为2M,可修改配置

 在PHP.ini中修改参数:memory_limit=128M,upload_max_filesize=2M,post_max_size=8M

修改upload_max_filesize=200M;memory_limit=250M,post_max_size=2000M

第二种方式 使用 : select   into  outfile  :SQL命令如下

(这种格式也是在linux下,window修改路劲书写方式)

   // 将你选中的数据导出到这个指定的目录下

 select  * into  outfile  '/tmp/bump.txt'                         

    //  属性使用 逗号分开

 fields terminated  by ','                                              

   //    

 optionally   enclosed  by ' " '                                    

   //  一行结束的标志位换行符

 lines   terminated  by '\n'       

   //  这是你要导出的数据库表                               

 from  linuxtest.test2  ;                                            

三、两种导入导出方式的比较:

使用select   into outfile  以及load data   infile  这种方式比 导出 .sql这种文件更加紧凑,而且速度也更快!