MySQL---mysqldump逻辑备份

分享一下mysqldump的一些知识,希望对小白和大神的成功之路上都有一些帮助。

mysqldump 是 MySQL 自带的逻辑备份工具,无需下载只要熟知使用方法老人小孩都可放心食用,它可以保证数据的一致性和服务的可用性。

备份语法:

远程备份
# mysqldump  -h 服务器  -u用户名  -p密码  数据库名  > 备份文件.sql  
本地备份
# mysqldump  -u用户名   -p密码    数据库名  > 备份文件.sql
备份文件结尾最好带醒目的标识,方便下次恢复数据时查看。

备份参数:

常用备份选项-A, --all-databases     #备份所有库

-B, --databases         #备份多个数据库

-F, --flush-logs        #备份之前刷新binlog日志

--default-character-set #指定导出数据时的默认字符集,若不是默认字符集,可能出现乱码

--no-data,-d            #不导出任何数据,只导出数据库表结构。
           -D            #恢复的表结构的时候用

--lock-tables            #备份前,锁定所有数据库表

--single-transaction     #保证数据的一致性和服务的可用性

-f, --force              #即使在一个表导出期间得到一个SQL错误,继续。

mysqldump备份时候避免锁表运行期间数据库备份时候一定要注意保持服务可用性可以使用添加--single-transaction选项

备份库表语法:

备份
语法:# mysqldump  -u root -p‘密码’ 库名  表名 > /备份文件(能显示重要信息信息)
备份多个表:
语法:# mysqldump  -u root -p‘密码’ 库名  表名1  表名2 > /备份文件
备份库
语法:# mysqldump  -u root -p‘密码’ 库名 > /备份文件
备份多个库
语法:# mysqldump  -u root -p‘密码’ -B  库名1 库名2 库名3 > /备份文件
备份所有的库:
语法:# mysqldump -u root  -p‘密码’ -A > /备份文件
注:在备注文件的时候最好是‘库名.文件名.bak’这样方便下次使用的时候查看。

备份数据库和表操作:

备份数据库
备份数据库保证数据一致性恢复数据库之前停止数据库对外服务停止bin-log日志避免bin-log产生恢复数据日志

恢复
先登录数据库创建一个数据库
mysql> create database 库名
[root@mysql-server ~]# mysql -uroot -p'密码' 库名 <  备份文件

恢复
开始恢复:
mysql> set sql_log_bin=0;   #停止binlog日志
恢复方式
mysql> use 库名;
mysql> source 备份文件;  -------加路径和备份的文件 
恢复方式
# mysql -u root -p''  库名  < 备份文件加路径
[root@mysql-server ~]# mysql -uroot -p'密码' 库名 < 备份的文件加路径

备份和恢复表结构:

备份恢复表结构
1.备份表结构:
语法:# mysqldump  -uroot -p'' -d 库名 表名 > 备份文件
2.恢复表结构:
登陆数据库创建一个库
语法:# mysql -u root -p'' -D 库名  < 备份文件
备份时候-d   恢复时候-D 

备份和恢复表数据操作:

数据导入导出没有表结构
表的导出和导入只备份表内记录,不会备份表结构,
需要通过mysqldump备份表结构,恢复时先恢复表结构,再导入数据。
mysql> show variables like "secure_file_priv";  查询导入导出的目录。

修改安全文件目录:
1.创建一个目录:mkdir  路径目录
[root@mysql ~]# mkdir /文件夹名
2.修改权限
[root@mysql ~]# chown mysql.mysql /文件夹名
3.编辑配置文件:
vim /etc/my.cnf
[mysqld]里追加
secure_file_priv=/文件夹名
4.重新启动mysql.
# systemctl restart mysqld
5.导出数据
mysql> select * from 库名 表名 outfile '/文件夹名/备份文件';
6.导入数据
mysql> load data infile '/文件夹名/备份文件' into table 表名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值