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文件绝对地址
  • 相关阅读:
    Spring 事务管理tx,aop
    好的博客参考之Spring
    Spring 事务管理
    Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
    ssm框架搭建
    SSH整合不错的博客
    org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.my.service.ProductService] for bean with name 'productService' defi报错解决方法
    修改firefox的默认缩放比
    深入理解计算机系统笔记
    OnePlus5刷机后一直检查更新
  • 原文地址:https://www.cnblogs.com/qczy/p/12305237.html
Copyright © 2011-2022 走看看