• mysqldump导入导出mysql数据库


    mysqldump导入导出mysql数据库
    mysqldump导入导出mysql数据库
    2011-02-21 16:33

    数据库的基本导入导出的命令 是 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




  • 相关阅读:
    还在写onClickListener()???你OUT拉
    Java 中的reference
    如何将eclipse上的android项目转移到android studio
    List,Set,Map再学习一下
    Java对象实例化的速度的一个试验
    如何自定义ImageView并让其渐变出现(李刚老师)
    android studio 中git插件的使用 github项目的配置及操作
    eGit插件
    原来Linux才是深入学习3D的好去处【原创】
    用FileMapping跨进程共享数据
  • 原文地址:https://www.cnblogs.com/wang3680/p/0112265d8e6998c7e9e05f31b7d79ab9.html
Copyright © 2020-2023  润新知