zoukankan      html  css  js  c++  java
  • MySQL系列之

    1.mysqldump简介

    mysqldump是mysql自带的逻辑备份工具,是mysql的客户端命令。备份原理是通过mysql协议连接到mysql服务器,将需要备份的数据查询出来,将查询出的数据转换成对应的insert等sql语句,使用时,再执行sql语句,即可将对应的数据还原。

    2.备份命令

    2.1命令格式

    mysqldump的几种语法形式:

    Dumping structure and contents of MySQL databases and tables.
    Usage: mysqldump [OPTIONS] database [tables]
    OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
    OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
    
    

    ps:补充说明

    • mysqldump [OPTIONS] database [tables]支持指定数据库和指定多表备份,但数据库本身定义不备份,意味着还原时候要先创建一模一样的库名;
    • mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]支持指定数据库备份,包含数据库本身定义也会备份;
    • mysqldump [OPTIONS] --all-databases [OPTIONS]备份所有数据库,包含数据库本身定义也会备份;

    mysqldump参考:
    https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html

    2.2常用选项说明

    参数名 简写 含义
    --host -h 服务器主机IP地址
    --port -p 服务器mysql端口号
    --user -u mysql用户名
    --password -p mysql密码
    --databases -B 指定备份数据库,包括create database语句
    --all-databases -A 备份mysql服务器所有数据库,含create database语句
    --compact 压缩模式,产生更少的输出
    --comments -i 添加注释信息
    --complete-insert -c 输出完成的插入语句
    --no-data -d 只备份表结构,不备份数据
    --no-create-info -t 只备份数据,不备份表结构
    --flush-privileges 备份mysql或相关是需要使用
    --quick -q 不缓存查询,直接输出,加快备份速度
    --lock-tables -l 备份前,锁定所有数据库表
    --no-create-db -n 禁止生成创建数据库语句
    --force -f 当出现错误时仍然继续备份操作
    --default-character-set 指定默认字符集
    --add-locks 备份数据库时锁定数据库表
    --verbose -v 备份时打印各阶段信息

    PS:更多信息,请查看man、help帮助,执行命令: mysqldump --helpman mysqldump

    2.3实例用法

    1.备份所有数据库(包括mysql和test):

    mysqldump -uroot -ppwd --all-databases > /backup/mysqldump/alldb.sql
    

    2.备份指定数据库:

    mysqldump -uroot -ppwd mydb > /backup/mysqldump/mydb.sql
    

    3.备份指定数据库指定表(多个表以空格隔开):

    mysqldump -uroot -ppwd mysql user event > /backup/mysqldump/mysqltable.sql
    

    4.备份指定数据库排除某些表:

    mysqldump -uroot -ppwd mydb --ignore-table=mydb.tb1 --ignore-table=mydb.tb2 > /backup/mysqldump/mydbtb.sql
    

    3.还原命令

    3.1系统行命令

    [root@mysql ~]# mysqladmin -uroot -ppwd create db_name
    [root@mysql ~]# mysql -uroot -ppwd db_name < /backup/mysqldump/db_name.sql
    

    PS: 导入备份数据库前,先确认是否有数据库db_name,若没有需要创建,且要与db_name.sql中数据库名保持一致

    3.2 source用法

    [root@mysql ~]# mysql -uroot -p
    mysql> use db_name
    mysql> source /backup/mysqldump/db_name.sql
    
  • 相关阅读:
    bzoj1878: [SDOI2009]HH的项链
    bzoj1053: [HAOI2007]反素数ant
    bzoj2456: mode
    bzoj2330: [SCOI2011]糖果
    bzoj1050: [HAOI2006]旅行comf
    bzoj1047: [HAOI2007]理想的正方形
    bzoj1968: [Ahoi2005]COMMON 约数研究
    bzoj1046: [HAOI2007]上升序列
    bzoj2440: [中山市选2011]完全平方数
    bzoj1202: [HNOI2005]狡猾的商人
  • 原文地址:https://www.cnblogs.com/hony625/p/15016467.html
Copyright © 2011-2022 走看看