zoukankan      html  css  js  c++  java
  • mysqldump详解

    一、备份数据:

    Mysqldump常用命令:

    mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql

    常见选项:

    -u: 用户名

    -p: 密码

    -P: 端口号,不写默认3306

    --all-databases, -A:备份所有数据库

    --databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。

    -d: 只导出数据库的表结构

    -t: 只导出数据库的数据

    --quick, -q:快速导出

    --xml, -X:导出为xml文件

    下面是具体的使用samples:

    1. 备份全部数据库的数据和结构(-A)

    mysqldump -uroot -p123456 -A > 0101.sql

    2. 备份全部数据库的结构(-d)

    mysqldump -uroot -p123456 -P3306 -A -d > 0102.sql

    3. 备份全部数据库的数据(-t)

    mysqldump -uroot -p123456 -P3306 -A -t > 0103.sql

    4. 备份单个数据库的数据和结构(sakila 为数据库名)

    mysqldump -uroot -p123456 -P3306 sakila > 0104.sql

    5. 备份单个数据库结构(sakila 为数据库名,-d)

    mysqldump -uroot -p123456 -P3306 sakila -d > 0105.sql

    6. 备份单个数据库数据(sakila 为数据库名,-t)

    mysqldump -uroot -p123456 -P3306 sakila -t > 0106.sql

    7. 备份多个表的结构和数据 (table1,table2为表名)

    mysqldump -uroot -p123456 -P3306 sakila table1 table2 > 0107.sql

    8. 一次备份多个数据库

    mysqldump -uroot -p123456 --databases db1 db2 > 0108.sql

     9.备份单个或多个表

    mysqldump -uroot -pzpAoPaxPgCP47yn4 --databases credit --tables pcore_enterprise > pcore_enterprise.sql

    在很多时候,导出表如果非常大的话,可以使用-e 参数把进程挂在后台

    mysql -pzpAoPaxPgCP47yn4 -e 'use credit;show tables;'

    有个特别需要注意的地方,mysqldump时>和--result-file=还是有区别的,因为mysql5.7默认会对明文的密码提示报错,所以,在使用明文密码登录mysql导出文件的时候,sql文件的第一行默认会是warning警告,这样的话执行时会报错如下:

     解决办法也很简单:

    sed -i '1d' xx.sql

    删除掉第一行就好了,不过在删除前可以先head -n 2看下第一行是不是warning

    二、还原数据库:

    1. 系统命令行:

    mysqladmin -uroot -p123456 create db_name 
    mysql -uroot -p123456  db_name < d:ak101.sql
    
    注:在导入备份数据库前,db_name如果没有,是需要创建的; 而且与backup20110527.sql中数据库名是一样的才可以导入。
    

    2. soure 方法: 

    mysql > use db
    mysql > source d:ak101.sql

    Comments:

    1. 还原单个数据库、单个数据库的多表需要指定数据库,而还原多个数据库时不用指定数据库。

    2. 区别:备份用的命令是mysqldump, 还原用的是mysql。

     
  • 相关阅读:
    转发 GSLB概要和实现原理
    通过openresty && tengine && nginx 动态添加资源到 html 页面
    Terraform 多云管理工具
    vault key 管理工具
    fabio
    keycloak 了解
    访问交换机的三种方式
    LAN、WAN、WLAN的区别
    浅谈团队贡献分如何分配
    Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
  • 原文地址:https://www.cnblogs.com/xiaoyuxixi/p/13160152.html
Copyright © 2011-2022 走看看