数据库优化之数据备份

写在前面

最近有个学弟问我这样的问题,他的hive在mysql中映射的元数据丢了,导致其元数据服务起不来,所以写这篇文章介绍mysql数据常见的备份方式。
请添加图片描述

一、数据备份

1、mysqdump

1.备份单个数据库

#备份一个数据库
mysqldump -u username -p password dbname tbname >bakfile.sql
#例程
mysqldump -u root -pok  hive312 >~/bak/hive312.sql

2.备份多个数据库

#备份多个数据库
mysqldump -u username -P --databases dbname1 dbname2 ... > filename.sql
#例程
mysqldump -u root -p ok --databases test mysql>~\testandmysql.sql

3.备份所有数据库

#备份所有数据库
mysqldump -u username -P --all-databases>filename.sql
#例程
mysqldump -u root -p --all-databases >~\all.sql

4.数据恢复

#数据恢复
mysql -u username -P [dbname] < filename.sql
#例程
mysql -u root -p < ~\all.sql

2、文件备份

1.数据输出

#导出数据
SELECT 列名 FROM table [WHERE 语句] INTO OUTFILE '目标文件'[OPTIONS]
#例程
SELECT * FROM yest.student INTO OUTFILE '~/student.txt';

2.文件输入

#文件导入
LOAD DATA INFILE '~/file.txt'
INTO TABLE test_db.tb_student_copy
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '?';

3、binlog日志

1.查看binlog日志

#查看binlog日志
show variables like '%log_bin%';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | OFF   |
| log_bin_basename                |       |
| log_bin_index                   |       |
| log_bin_trust_function_creators | OFF   |
| log_bin_use_v1_row_events       | OFF   |
| sql_log_bin                     | ON    |
+---------------------------------+-------+

2.开始binlog日志

#查找my.cnf文件
find / -name my.cnf
#编辑my.cnf文件
vim my.cnf
#输入以下内容
#-------------------
[mysqld]
# 开启binlog
log-bin = mysql-bin
#------------------
#重启mysql服务
systemctl restart mysql

3.查看binlog日志

#登录mysql,查看日志是否开启
how variables like '%log_bin%';
+---------------------------------+--------------------------------+
| Variable_name                   | Value                          |
+---------------------------------+--------------------------------+
| log_bin                         | ON                             |
| log_bin_basename                | /var/lib/mysql/mysql-bin       |
| log_bin_index                   | /var/lib/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF                            |
| log_bin_use_v1_row_events       | OFF                            |
| sql_log_bin                     | ON                             |
+---------------------------------+--------------------------------+
#查看所有binlog日志文件列表
show master logs;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |       120 |
+------------------+-----------+
#查看最后一个binlog日志的编号名称及其最后一个操作事件pos结束点的
show master status; 
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      120 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝域时空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值