您的位置:首页 > 数据库 > MySQL

mysql学习小札(2)-- 数据备份、还原、导入导出方法的简单总结

2014-06-16 09:17 1126 查看
一、数据的备份
    1.mysqldump
         mysqldump -u user -h host -p dbname [tablename, [tablename...]] > filename.sql
         ■ 备份数据库中所有的表 → mysqldump -u root -p dbname > backup.sql
         ■ 备份数据库中某个表 → mysqldump -u root -p dbname tblname > backup.sql
         ■ 备份多个数据库 → mysqldump -u root -p --databases db1 db2 > backup.sql
         ■ 备份系统中所有的数据库 → mysqldump -u root -p --all-databases > backup.sql
         注: 如果在服务器上,且表均为MYISAM表,应考虑使用mysqlhotcopy ☆☆☆

二、数据的还原
    1.mysql
          ■ mysql -u user -p [dbname] < filename.sql
          ■ 登陆了mysql后,可通过source filename 恢复 → 使用前需用use 选择好数据库 ☆
    2.mysqlhotcopy 快速恢复

三、表的导出
    1.mysqldump → shell下
         mysqldump -T path -u root -p dabname [tables] [opt]
         ■ 只有制定了-T才能到处纯文本文件,path表述导出数据的目录
         ■ opt选项(同下类似)
              --fields-terminated-by=value
              --fields-enclosed-by=value

              --fields-optionally-enclosed-by=value
              --fields-escaped-by=value
              --line-terminated-by=value

              注:value无需用‘’括起来

    2.SELECT...INTO OUTFILE → 登陆mysql后
     SELECT columunlist FROM tbl WHERE condition INTO OUTFILE 'filename' [OPT]
          ■ opt选项: FILEDS TERMINATED BY 'value' → 字段之间分隔符为value
                           FILEDS [OPTIONALLY] ENCLOSED BY 'value' → 字段包围字符为value
                           FILEDS ESCAPED BY 'value' → 设置转义字符为value
                           LINES STARTING BY 'value' → 设置每行开头字符为value
                           LINES TERMINATED BY 'value' → 设置每行结尾字符为value
                 注:通过opt可调整导出的filename中数据显示的样式,很有用! ☆☆☆☆☆

    3.mysql命令 → shell下
         mysql -u root -p --execute="SELECT 语句" dbname > filename.txt
         ■ mysql -u root -p --execute="SELECT * FROM tbl;" db > output.txt
         ■ mysql -u root -p --vertical --execute="SELECT ..." > ... → 将每行记录分多行显示
         ■ mysql -u root -p --html --execute="..." db > ... → 导出到html文件(或用--xml)

四、表的导入 
    1.LOAD DATA INFILE 
          LOAD DATA INFILE ‘filename.txt’ INTO TABLE tbl [OPT] [IGNORE number LINES]
          ■ OPT选项 → 同 SELECT ... INTO OUTFILE 一致
          ■ IGNORE number LINES → 忽略filename.txt的前number行

    2.mysqlimport
           mysqlimport -u root -p daname filename.txt [OPT]
           ■ OPT选项 → 同mysqldump,但了一个--ignore-lines=n ,当然还有很多其他的
                   
         
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息