• mysql数据库的备份与还原


    备份结构

    1.备份表结构

    mysqldump -u root -p -d dbname table1 table2 ... > a.sql

    2.备份数据库的所有表结构

    mysqldumo -u root -p -d dbname > b.sql

    3.备份多个数据库的所有表结构

    mysqldump -u root -p -d --databases db1 db2... > c.sql

    4.备份所有数据库的表结构

    mysqldump -u root -p -d --all-databases > d.sql

    备份结构和数据(相当于在备份结构的语法上去掉-d选项)

    1.备份表结构和数据

    mysqldump -u root -p dbname table1 table2 ... > a.sql

    2.备份数据库的所有表结构和数据

    mysqldump -u root -p dbname  > b.sql

    3.备份多个数据库的表结构和数据

    mysqldump -u root -p --databases db1 db2  > c.sql

    4.备份所有数据库的表结构和数据

    mysqldump -u root -p --all-databases > d.sql

     备份表数据

    select ... into outfile

    select [列名] from table [where 语句] into outfile '目标文件' [options]

    目标文件必须是字符串形式

    options是设置导出文件的一些格式;

    fields terminated by '字符串':多个字段值之间的分隔符,默认是' '

    fields enclosed by '字符串':用给定的字符来包围字段值,默认不需要

    fields optionally enclosed by '字符串':用给定的字符包围文本类型的字段值,默认不需要

    fields escaped by '字符串':设置转义字符,默认为""

    lines starting by '字符串':每条记录的开始字符,默认没有

    lines terminated by '字符串':每条记录的结束符,默认是换行符

     select * from pmx.score2 where 1 into outfile '/Users/pmx/Sites/a.txt' 

    select * from pmx.score2 where 1 into outfile '/Users/pmx/Sites/a.txt' fields terminated by '|' enclosed by '"' optionally enclosed by '@' lines starting by '^' terminated by '$' ;
    还原表结构和数据
    mysql -u root -p [dbname] < 目标文件

    如果目标文件中有创建数据库的语句,则dbname省略

    还原表数据

    load data infile命令

    load data [local] infile file into table table_name [options]


    备份以及还原操作:
    需要注意的是,该操作不需要登录mysql客户端,直接在本地执行,同时路径也是本地磁盘路径,为右斜杠 

    备份数据:使用mysqldump命令将suppliers表备份到文件C:ktestdirsuppliers_bk.sql。 mysqldump -u root -p test suppliers > C:ktestdirsuppliers_bk.sql

    注意,以下操作需要登陆mysql客户端,源文件路径为左斜杠 /

    还原表数据:使用mysql命令还原suppliers表到test数据库中; DELETE FROM suppliers; source C:/bktestdir/suppliers_bk.sql; 备份数据方法2:使用SELECT… INTO OUTFILE语句导出suppliers表中的记录,导出文件位于目录C:ktestdir下,名称为suppliers_out.txt SELECT * FROM test.suppliers INTO OUTFILE "C:/bktestdir/suppliers_out.txt" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES STARTING BY '<' TERMINATED BY '> '; 还原数据:使用LOAD DATA INFILE语句导入suppliers_out.txt数据到suppliers表。 LOAD DATA INFILE 'C:/bktestdir/suppliers_out.txt' INTO TABLE test.suppliers FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES STARTING BY '<' TERMINATED BY '> '; 数据导出:使用musqldump命令将suppliers表中的记录导出到文件C:ktestdirsuppliers_html.html。 mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.html

      

    实际操作:备份数据库test 外部文件test.txt中 需要注意的是,该操作不需要登录mysql客户端,直接在本地执行

     还原:先登录-->再选择目标数据库--》在执行  source C:/Users/Andrew/Desktop/sqlbak/test.txt;  记住一定是左斜杠

     

  • 相关阅读:
    第二周作业
    第二次作业
    第一周作业
    我的2018年终总结
    css总结
    python中使用selenium错误-Firefox浏览器
    postman中 form-data、x-www-form-urlencoded、raw、binary的区别
    谷歌地图API(一)
    2014新年开题
    图书馆管理系统-需求分析
  • 原文地址:https://www.cnblogs.com/Andrew520/p/11962730.html
Copyright © 2020-2023  润新知