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文件绝对地址
  • 相关阅读:
    cloud-init 手动调试及问题解决
    深入理解openstack网络架构(四)
    深入理解openstack网络架构(三)
    深入理解openstack网络架构(二)
    深入理解openstack网络架构(一)
    ovs总结与常用命令
    如何debug cloud-init
    nova snapshot
    Openstack并行性能加速
    Nova 是如何统计 OpenStack 计算资源
  • 原文地址:https://www.cnblogs.com/qczy/p/12305237.html
Copyright © 2011-2022 走看看