MYSQL数据备份之mysqldump命令详解

一、常见备份命令介绍

备份命令 备份速度 恢复速度 介绍 功能 一般用于
cp 物理备份、灵活性低 很弱 少量数据备份
mysqldump 逻辑备份、适用所有存储引擎 一般 中小型数据量备份
xtrabackup 较快 较快 实现innodb热备、对存储引擎有要求 强大 较大规模的备份

热备份指的是当数据库进行备份时, 数据库的读写操作均不是受影响
温备份指的是当数据库进行备份时, 数据库的读操作可以执行,但是不能执行写操作
冷备份指的是当数据库进行备份时, 数据库不能进行读写操作, 即数据库要下线

二、mysqldump备份

(1)mysqldump命令介绍

[root@]> mysqldump -help

Usage: mysqldump [OPTIONS] database_name [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

1.登录选项:
    -u user:指定用户
    -h host:指定主机
    -p:表示要使用密码
    -E, --events: 备份事件调度器
    -R, --routines: 备份存储过程和存储函数
2.备份选项:
    --all-databases:备份所有数据库
    --databases db1 db2:备份指定的数据库
    --single-transaction:对事务引擎执行热备
    --flush-logs:更新二进制日志文件
    --master-data=2
        1:每备份一个库就生成一个新的二进制文件(默认)
        2:只生成一个新的二进制文件
    --quick:在备份大表时指定该选项

(2)查看所属数据库、用户的权限
1、查看mysql数据库中的所有用户:

mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

2、查看数据库中具体某个用户的权限:

mysql> show grants for 'user'@'localhost'; 
或
mysql> select * from mysql.user where user='root'\G; 

3、修改用户权限:

mysql> grent all on *.* to `user`@`localhost`;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec).

4、向数据库施加读锁

mysql> FLUSH TABLES WITH READ LOCK;   
Query OK, 0 rows affected (0.00 sec)

你可能感兴趣的:(mysql,mysql,数据库,sql,mysqldump)