zoukankan      html  css  js  c++  java
  • mysqldump导入导出mysql数据库

     ----------------------"转自网络,网址忘记了,在此感谢原作者"----------------------------mysqldump导入导出mysql数据库mysqldump导入导出mysql数据库

    数据库的基本导入导出的命令 是 mysqldump 和 source 
    在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin 

    先来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库 用source 也可以还原 但他导入文件时有大小限制不能超过2M 
    再来说说 mysqldump 和 source 用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个库可以随便起名) 然后进入数据库后才能导入用phpmyadmin导入mysqldump 导出的文件也得需要这步 

    下面是从前辈那copy来的命令具体使用方法 

    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 
       
    备忘: mysqldump在linux下可直接使用 在windows下有时需要进入mysql/bin中使用 因为有时用的是类似appserv的套装软件 这样的话命令就不能直接使用 因为这些命令没在环境变量的目录里 而且用mysqldump导出的备份 必须先建立数据库才能导入 


    4.导入数据库 
      常用source 命令 
      进入mysql数据库控制台, 
      如mysql -u root -p 
      mysql>use 数据库 
      然后使用source命令,后面参数为脚本文件(如这里用到的.sql) 
      mysql>source d:wcnc_db.sql 


    存疑: phpmyadmin导入有大小限制 不知道source导入时有没限制 而且导出时是不可以限制文件大小 并且分数个文件导出


    mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。

    操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。

    在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户--backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。

    假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:ak的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:

    我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:

    mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test > D:akakcup.sql

    在这段命令中:

    mysqldump 是myqldump的程序名了;

    -u 是数据库的用户名,后面紧跟着用户名backup;

    -p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;

    -h 是数据库的地址,如果没有此项表明是备份本地的数据库;

    backup_test 要备份的数据库名称;

    > 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。

    一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

    =======================================

    备份MySQL数据库的命令

    mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

    备份MySQL数据库为带删除表的格式 
    备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

    mysqldump --add-drop-table -uusername -ppassword databasename > backupfile.sql

    直接将MySQL数据库压缩备份

    mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

    备份MySQL数据库某个(些)表

    mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

    同时备份多个MySQL数据库

    mysqldump -hhostname -uusername -ppassword -databases databasename1 databasename2 databasename3 > multibackupfile.sql

    仅仅备份数据库结构

    mysqldump -no-data -databases databasename1 databasename2 databasename3 > structurebackupfile.sql

    备份服务器上所有数据库

    mysqldump -all-databases > allbackupfile.sql

    还原MySQL数据库的命令

    mysql -hhostname -uusername -ppassword databasename < backupfile.sql

    还原压缩的MySQL数据库

    gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

    将数据库转移到新服务器

    mysqldump -uusername -ppassword databasename | mysql -host=*.*.*.* -C databasename
    ======================================================
    这种更灵活,导出 select * from table_name into outfile 'c:\path\filename.txt ' 
    导入:LOAD DATA LOCAL INFILE 'file_name.txt' INTO TABLE tbl_name
    ----夫英雄者,胸怀大志,腹有良谋,有包藏宇宙之机,吞吐天地之志者也。
  • 相关阅读:
    BZOJ2741:[FOTILE模拟赛]L
    BZOJ3996:[TJOI2015]线性代数
    BZOJ3876:[AHOI2014]支线剧情
    BZOJ1861:[ZJOI2006]Book书架
    BZOJ3190:[JLOI2013]赛车
    HDU-1540 Tunnel Warfare 【线段树+单点修改+区间更新】
    HDU-1846 Brave Game 【巴什博弈】
    HDU-1421 搬寝室 【DP】
    HDU-4734 F(x) 【数位DP】
    AHU-412 Bessie Come Home 【Dijkstra】
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6521065.html
Copyright © 2011-2022 走看看