mysqldump怎么用 mysqldump没反应 mysqldump语法错误 mysqldump备份 mysql恢复 source命令 采用Navicat备份与mysqldump备份的区别

mysqldump怎么用 mysqldump没反应 mysqldump语法错误:

   检查是否在mysql>下,还是C:\Documents and Settings\Administrator>下,mysqldump命令需在C:\Documents and Settings\Administrator>执行;但如果出现了'mysqldump' 不是内部或外部命令,也不是可运行的程序或批处理文件。则是你的环境变量没有设置好;环境变量的设置: 1:先找到mysql的bin目录位置(我的是D:\Program Files\MySQL\MySQL Server 5.1\bin) 2:右击我的电脑->属性->高级->环境变量->系统变量->双击path变量名->修改变量值最后打个分号,有则不要打,再将mysql的bin目录位置粘贴上去;

mysqldump备份 :原作者地址->http://samyubw.blog.51cto.com/978243/223777/

mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql
参数说明:
-n:   --no-create-db (没有创建数据库的信息)
-d:   --no-data     (不导出数据)
-t:   --no-create-info (没有创建数据库表的信息)
-R:   --routines      Dump stored routines (functions and procedures)
-E:  --events  (导出数据库中events)
-A:  --all-databases (导出所有的数据库)
-B:  --databases db1 db2 (导出指定的数据库)
    Mysqldump是客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建活装载表的SQL语句:
主要参数介绍:
1.连接选项
  -u,--user=name
  -p,--password=name
  -h,--host=name
  -P,--port=#
2.输出内容选项
 --add-drop-database (默认是自动加上的)
 --add-drop-table     (默认是自动加上的)
 -n;--no-create-db
 -d;--no-data
 -t;--no-create-info
3.输出格式选项
--compact (精简格式,将导出时的一些备注省略)
-c --complete-insert (导出数据的语句中,在insert to table values后加上各个字段,如insert into table(tab1,tab2,…) values(value1,value2,…))
-T(指定数据表中的数据备份为单纯的数据文件和建表SQL两个文件)
在mysqldump帮助文档中的说明:
-T, --tab=name      Creates tab separated textfile for each table to given
                           path. (creates .sql and .txt files). NOTE: This only
                          works if mysqldump is run on the same machine as the
                           mysqld daemon.
这里提示,使用-T参数时必须保证运行mysqldump命令的客户端必须与mysqld服务器实例在同一台机器上。
经测试可知xx.sql建表文件是以linux的root用户创建,而xx.txt文件则是以linux的mysql用户创建,因此xxx.txt文件的存放路径一定要保证mysql用户有读写创建文件的权限。在远程利用-T备份mysql的表时是不允许的,如果你非的这么使用你会发现在本地仅仅会创建 xxx.sql文件,而xxx.txt文件则没有,它有可能在远程运行mysqld的服务器上出现(仅仅是可能,保证远程运行mysqld的linux服务器和本地linux有相同的路径和用户权限)。
--fields-terminated-by=name(域分隔符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域引用可选字符)
--fields-escaped-by=name(转义字符)
域引用符和域引用可选字符在一次导出中不能同时使用,域引用可选字符只对认为需要引用的字段作引用,而域引用符对所有的字段都要作引用。

4.字符集选项
--default--character-set=xx
5.其他选项
-F --flush-logs(备份前刷新日志)
-l --lock-tables(给所有的表加读锁)

mysql恢复 source命令:

 需要mysql>下执行,先使用相应数据库,如use bbs,再执行source 1.sql(此文件需在相应目录下,如:D:\Program Files\MySQL\MySQL Server 5.1\bin );

采用Navicat备份与mysqldump备份的区别

  如采用Navicat8选中数据右击转储为SQL文件,

  1:此时的sql文件(5.11M)大概是mysqldump命令导出的sql文件(2.65M)的2倍

  2:Navicat8备份的文件.恢复时还需先删database,再建database,再use database;而mysqldump备份的只需use database,sql命令中会自动检测表是否存在,存在则删

  3:采用source命令恢复的话mysqldump备份的sql文件(2.65M)只需25秒左右,而Navicat8导出的文件,采用source命令来恢复时间是非常漫长的,等的我真的没耐心了

总结:

还是mysql自带的相应工具,效率高很多,.呵呵

posted on 2011-08-03 10:34  fasttime  阅读(3021)  评论(0)    收藏  举报

导航