zoukankan      html  css  js  c++  java
  • mysql数据库的备份与还原

    一.数据备份:
    1.使用mysqldump命令备份
    mssqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
    mysqldump命令的工作原理很简单,他先查出需要备份的表的结构,再在文本文件中生成一个create语句,然后将表中的所有记录转换成一条insert语句,然后通过这些语句就能创建新表并插入数据
    2.备份一个数据库:
    MySQLdump基本用法:
    mysqldump -u root -h 127.0.0.1 -p dbname > /usr/share/php/tdx.sql
    其中:
    dbname :数据库的名字
    table1和table2:表示需要备份的表的名字,为空则备份整个数据库,
    tdx.sql:文件之前可以加一个绝对路径,通常将数据库备份成一个后缀名为sql的文件
    例如:用root用户备份test数据库下的persion表:
    mysqldump -u root -p test persion >d:ackup.sql
    3.备份多个数据库:
    mysqldump -u username -p --database dbname1 dbname2 >backup.sql
    4.备份所有数据库
    mysqldump -u root -p -all-database > alldb.sql
     
    二、直接复制整个数据库目录
    先将服务停止,保证数据不会发生变化。这种方式不适用于innodb,对于myisam很方便
    三、使用mssqlhotcopy工具快递备份
    是属于热备份,可以不停止mysql服务器,比mysqldump快,是一个per脚本,主要应用于linux,其使用lock tables flush tables和cp来进行快速的备份
    命令格式如下:
    mysqlhotcopy  dbname1 dbname2 backupdir/
    dbname:数据库名称
    backupdir:备份文件路径
    目前也使用于myisam类型的表
    四:数据还原:
    1.还原使用的命令如下:(用mysqldump导出的sql,最好用此方式,成功概率很高,注意.sql文件如果是utf8,建表的时候也要utf8,如果是utf8mb64,可能报错)
    mysql -u root -p -h 127.0.0.1 --default-character-set=utf8 表名 < C:UsersAdministratorDesktopfsdownload dx.sql
    2.还原直接复制目录备份:
    通过这种方式还原时,必须保证两个mysql数据库的版本是一致的。针对myisam的表有效,针对innodb类型的表无效,innodb 的表空间不能直接复制
    3.通过source命令(数据量大的时候,很有可能报错了)
    use 表名
    source sql文件绝对地址
  • 相关阅读:
    Java.io.outputstream.PrintStream:打印流
    Codeforces 732F. Tourist Reform (Tarjan缩点)
    退役了
    POJ 3281 Dining (最大流)
    Light oj 1233
    Light oj 1125
    HDU 5521 Meeting (最短路)
    Light oj 1095
    Light oj 1044
    HDU 3549 Flow Problem (dinic模版 && isap模版)
  • 原文地址:https://www.cnblogs.com/qczy/p/12305237.html
Copyright © 2011-2022 走看看