mysqldump导入:MySQL数据的导出和导入工具mysqldump




  MySQL数据导出和导入工具:mysqldump
  导出要用到MySQLmysqldump工具基本使用方法是:
  
  shell> mysqldump [OPTIONS] database [tables]
  
  如果你不给定任何表整个数据库将被导出
  
  通过执行mysqldump --help你能得到你mysqldump版本支持选项表
  
  注意如果你运行mysqldump没有--quick或--opt选项mysqldump将在导出结果前装载整个结果集到内存中如果你正在导出个大数据库这将可能是个问题
  
  mysqldump支持下列选项:
  
  --add-locks
  在每个表导出的前增加LOCK TABLES并且的后UNLOCK TABLE(为了使得更快地插入到MySQL)
  --add-drop-table
  在每个create语句的前增加个drop table
  --allow-keywords
  允许创建是关键词列名字这由表名前缀于每个列名做到
  -c, --complete-insert
  使用完整insert语句(用列名字)
  -C, --compress
  如果客户和均支持压缩压缩两者间所有信息
  --delayed
  用INSERT DELAYED命令插入行
  -e, --extended-insert
  使用全新多行INSERT语法(给出更紧缩并且更快插入语句)
  -#, --debug[=option_]
  跟踪使用(为了调试)
  --help
  显示条帮助消息并且退出
  --fields-terminated-by=...
   
  --fields-enclosed-by=...
   
  --fields-optionally-enclosed-by=...
   
  --fields-escaped-by=...
   
  --fields-terminated-by=...
  这些选择和-T选择起使用并且有相应LOAD DATA INFILE子句相同含义
  LOAD DATA INFILE语法
  -F, --flush-logs
  在开始导出前洗掉在MySQL中日志文件
  -f, --force,
  即使我们在个表导出期间得到个SQL继续
  -h, --host=..
  从命名主机上MySQL服务器导出数据缺省主机是localhost
  -l, --lock-tables.
  为开始导出锁定所有表
  -t, --no-create-info
  不写入表创建信息(CREATE TABLE语句)
  -d, --no-data
  不写入表任何行信息如果你只想得到个表结构导出这是很有用
  --opt
  同--quick --add-drop-table --add-locks --extended-insert --lock-tables
  应该给你为读入个MySQL服务器尽可能最快导出
  -pyour_pass, --password[=your_pass]
  和服务器连接时使用口令如果你不指定“=your_pass”部分mysqldump需要来自终端口令
  -P port_num, --port=port_num
  和台主机连接时使用TCP/IP端口号(这用于连接到localhost以外主机它使用 Unix套接字)
  -q, --quick
  不缓冲查询直接导出至stdout;使用mysql_use_result做它
  -S /path/to/, --=/path/to/
  和localhost连接时(它是缺省主机)使用套接字文件
  -T, --tab=path-to-some-directory
  对于每个给定创建个table_name.sql文件它包含SQL CREATE 命令个table_name.txt文件它包含数据 注意:这只有在mysqldump运行在mysqld守护进程运行台机器上时候才工作.txt文件格式根据--fields-xxx和--lines--xxx选项来定
  -u user_name, --user=user_name
  和服务器连接时MySQL使用用户名缺省值是你Unix登录名
  -O var=option, ---variable var=option设置个变量可能变量被列在下面
  -v, --verbose
  冗长模式打印出所做更多信息
  -V, --version
  打印版本信息并且退出
  -w, --where='where-condition'
  只导出被选择了记录;注意引号是强制
  "--where=user='jimf'" "-wuserid>1" "-wuserid backup-file.sql
  
  但是它对用来自于个数据库信息充实另外个MySQL数据库也是有用:
  
  mysqldump --opt database | mysql --host=remote-host -C database
  
  由于mysqldump导出是完整SQL语句所以用mysql客户很容易就能把数据导入了:
  
  shell> mysqladmin create target_db_name
  shell> mysql target_db_name mysql 库名 < 文件名
  
  
Tags:  mysql导入导出工具 mysql导入导出 mysqldump导出 mysqldump导入

延伸阅读

最新评论

发表评论