当前位置: 首页 > news >正文

创意设计工作室seo工程师招聘

创意设计工作室,seo工程师招聘,做网站开发公司,谁能帮我做网站目录 MySQL日志管理 数据库备份的重要性 数据库备份的分类 从物理与逻辑的角度 从数据库的备份策略角度 常见的备份方法 物理冷备 专用备份工具mysqldump或mysqlhotcopy 启用二进制日志进行增量备份 第三方工具备份 MySQL完全备份与恢复 MySQL完全备份 物理冷备份与…

目录

MySQL日志管理

数据库备份的重要性

数据库备份的分类

从物理与逻辑的角度

从数据库的备份策略角度

常见的备份方法

物理冷备

专用备份工具mysqldump或mysqlhotcopy

启用二进制日志进行增量备份

第三方工具备份

MySQL完全备份与恢复

MySQL完全备份

物理冷备份与恢复

 mysqldump 备份与恢复

 MySQL完全恢复

 MySQL增量备份与恢复

MySQL 增量备份

MySQL增量恢复 

一般恢复

 断点恢复


MySQL日志管理

MySQL 的日志默认保存位置为 /usr/local/mysql/data

  • 错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
  • 通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
  • 二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
  • 慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的

 在/etc/my.cnf添加内容以此进行数据库的日志管理

vim /etc/my.cnf
[mysqld]
##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
log-error=/usr/local/mysql/data/mysql_error.log					#指定日志的保存位置和文件名##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
log-bin=mysql-bin				#也可以 log_bin=mysql-bin##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5												#设置超过5秒执行的语句被记录,缺省时为10秒

 

show variables like 'general%';									#查看通用查询日志是否开启show variables like 'log_bin%';									#查看二进制日志是否开启show variables like '%slow%';									#查看慢查询日功能是否开启
show variables like 'long_query_time';							#查看慢查询时间设置set global slow_query_log=ON;				#在数据库中设置开启慢查询的方法

去到/usr/local/mysql/data/路径下可以找到相对应的日志文件

 

二进制日志格式有三种:binlog_format=STATEMENT  或  ROW MIXED          

STATEMENT:基于SQL语句记录二进制日志,写入和恢复速度较快,在高并发的情况可能会出SQL语句顺序记录偏差导致恢复时数据丢失。(老版本的默认模式)


ROW:基于行记录二进制日志,写入和恢复速度较STATEMENT慢些,日志文件占用空间也较大,但是准确性较高。(5.7的默认模式)


MIXED:混合模式,平时负载压力较小时使用SQL语句记录二进制日志,在高并发的情况会切换成基于行记录二进制日志。

数据库备份的重要性

备份的主要目的是灾难恢复,在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果。

造成数据丢失的原因主要有:程序错误、人为操作错误、运算错误、磁盘故障、灾难(如火灾、地震)和盗窃。

数据库备份的分类

从物理与逻辑的角度

1.物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。

冷备份(脱机备份)︰是在关闭数据库的时候进行的;

热备份(联机备份)︰数据库处于运行状态,依赖于数据库的日志文件;

温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作。

2.逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份,导出sql文件。

从数据库的备份策略角度

  1. 完全备份:每次备份都备份完整的库或者表数据
  2. 差异备份:只备份上一次完全备份后的更新数据
  3. 增量备份:每次备份只备份上一次完全备份或增量备份后的更新数据

 注:推荐使用 完全备份+增量备份 的方式

常见的备份方法

物理冷备

备份时数据库处于关闭状态,直接打包数据库文件

备份速度快,恢复时也是最简单的

专用备份工具mysqldump或mysqlhotcopy

mysqldump常用的逻辑备份工具

mysglhotcopy仅拥有备份MyISAM和ARCHIVE表

启用二进制日志进行增量备份

进行增量备份,需要刷新二进制日志

第三方工具备份

免费的MySQL热备份软件Percona XtraBackup

MySQL完全备份与恢复

MySQL完全备份

InnoDB存储引擎的数据库在磁盘上存储成三个文件:db.opt(表属性文件)、表名.frm(表结构文件)、表名.ibd(表数据文件)。

物理冷备份与恢复

#关闭mysql
systemctl stop mysqld
#压缩备份
tar cf /opt/mysql_all_$(date +%F).tar /usr/local/mysql/data/
#移除
mv /usr/local/mysql/data/ ~
#解压恢复
tar Jxvf /opt/mysql_all_2023-12-26.tar
mv /opt/usr/local/mysql/data/ /usr/local/mysql/

关闭mysql服务 

 

去到/opt,将/usr/local/mysql/data/路径下全部文件压缩

 解压

将/usr/local/mysql/data/移到家目录下,用来模拟文件缺失

 将解压好的文件夹从新放回原路径

 mysqldump 备份与恢复

完全备份一个或多个完整的库(包括其中所有的表)

mysqldump -u root -p[密码] --databases 库名1 [库名2] … > /备份路径/备份文件名.sql	#导出的就是数据库脚本文件

 

 完全备份 MySQL 服务器中所有的库

mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql

 

 完全备份指定库中的部分表

mysqldump -u root -p[密码]  [-d] 库名 [表名1] [表名2] … > /备份路径/备份文件名.sql
#使用“-d”选项,说明只保存数据库的表结构
#不使用“-d”选项,说明表数据也进行备份

 

查看备份文件

grep -v "^--" /opt/kgc_info1.sql | grep -v "^/" | grep -v "^$"

 

 MySQL完全恢复

恢复数据库

mysql -u root -p -e 'drop database 库名;'
#“-e”选项,用于指定连接 MySQL 后执行的命令,命令执行完后自动退出
mysql -u root -p -e 'SHOW DATABASES;'mysql -u root -p < /opt/库名.sql
mysql -u root -p -e 'SHOW DATABASES;'

 恢复数据表

当备份文件中只包含表的备份,而不包含创建的库的语句时,执行导入操作时必须指定库名,且目标库必须存在。

mysqldump -u root -p 库名 表名 > /opt/库名.表名.sqlmysql -u root -p -e 'drop table 库名.表名;'
mysql -u root -p -e 'show tables from 库名;'mysql -u root -p kgc < /opt/库名.表名.sql
mysql -u root -p -e 'show tables from 库名;'

 MySQL增量备份与恢复

MySQL 增量备份

开启二进制日志功能

修改/etc/my.cnf配置

vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog_format = MIXED				#可选,指定二进制日志(binlog)的记录格式为 MIXED
server-id = 1#二进制日志(binlog)有3种不同的记录格式:STATEMENT(基于SQL语句)、ROW(基于行)、MIXED(混合模式),默认格式是STATEMENTsystemctl start mysqld

 

 可每周对数据库或表进行完全备份

mysqldump -u root -p 库名 表名 > /opt/库名_表名_$(date +%F).sql
mysqldump -u root -p --databases 库名> /opt/库名_$(date +%F).sql

 

 可每天进行增量备份操作,生成新的二进制日志文件

mysqladmin -u root -p flush-logs

 

 

 插入新数据,以模拟数据的增加或变更

use kunkun;
insert into kk values(3,'tt',22,'女');
insert into kk values(4,'hh',33,'男');

 再次生成新的二进制日志文件

mysqladmin -u root -p flush-logs

 

 之前的步骤4的数据库操作会保存到mysql-bin.000004文件中,之后数据库数据再发生变化则保存在mysql-bin.000005文件中

 查看二进制日志文件的内容

cp /usr/local/mysql/data/mysql-bin.000005 /opt/
mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000005
#--base64-output=decode-rows:使用64位编码机制去解码并按行读取
#-v:显示详细内容

 

 

MySQL增量恢复 

一般恢复

模拟丢失更改的数据的恢复步骤

mysqlbinlog --no-defaults /opt/mysql-bin.000004 | mysql -u root -p

 模拟丢失所有数据的恢复步骤

mysql -u root -p666 kunkun < /opt/kunkun_kk.sql
mysqlbinlog --no-defaults /opt/mysql-bin.000004 | mysql -u root -p666

 断点恢复

查看二进制日志文件

mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000004

 基于位置恢复

#仅恢复到操作 ID 为“507”之前的数据,即不恢复“hh”的数据
mysqlbinlog --no-defaults --stop-position='507' /opt/mysql-bin.000004 | mysql -uroot -p666

 

#仅恢复“hh”的数据,跳过“tt”的数据恢复
mysqlbinlog --no-defaults --start-position='597' /opt/mysql-bin.000004 | mysql -uroot -p666

 

 基于时间点恢复

#仅恢复到  18:28:28 之前的数据,即不恢复“hh”的数据
mysqlbinlog --no-defaults --stop-datetime='2023-12-26 18:28:28' /opt/mysql-bin.000004 |mysql -uroot -p666

 

#仅恢复到  18:28:28 之后的数据,即跳过“tt”数据的恢复,恢复“hh”的数据
mysqlbinlog --no-defaults --stop-datetime='2023-12-26 18:28:28' /opt/mysql-bin.000004 |mysql -uroot -p666

 

 注:

如果恢复某条SQL语句之前的所有数据,就stop在这个语句的位置节点或者时间点
如果恢复某条SQL语句以及之后的所有数据,就从这个语句的位置节点或者时间点start

 

http://www.tj-hxxt.cn/news/56633.html

相关文章:

  • 电商网站开发企业品牌推广网络公司
  • app网站制作域名解析网站
  • wordpress 商业插件seo优化是指
  • 优化网站的方法百度网盘app下载安装 官方下载
  • WordPress仿w3cseo专员岗位要求
  • 新闻网站开发课程设计模板qq群排名优化软件官网
  • 网站建设最新流行湖南网站排名
  • 做企业网站设计下载爱城市网app官方网站
  • 网站域名备案和icp备案一样么广东seo网络培训
  • 做网站每页面费用营销策划公司排名
  • 做税务申报去哪个网站做微商怎么找客源加人
  • 做网站用什么语言宁德市房价
  • 织梦网站列表微信软文是什么意思
  • 网站反连接torrentkitty搜索引擎
  • 西安市城乡建设管理局网站的公示栏网站制作公司怎么找
  • 上海网站建设优势宜昌网站seo收费
  • 毕设做网站具体步骤杭州seo排名公司
  • 网店运营计划书seo基础知识包括什么
  • dw做的网站怎么在vs西安网站seo优化公司
  • html教程视频自学免费建设优化网站
  • 网站建设 响应式40个免费靠谱网站
  • wordpress菜单导航插件搜索引擎优化趋势
  • 孝义做网站的公司seo怎么收费seo
  • 新疆建设兵团职称查询官方网站软文写作发布
  • 网站优化 价格查询百度提交入口网址截图
  • 快速做网站前端的视频教程收录之家
  • b2b电子商务网站调研报告主题面向企业的电子商务百度自媒体怎么注册
  • WordPress注册要花钱windows优化大师和360哪个好
  • 自己做的网站如何上传整合营销理论
  • 石家庄做网站优化青岛关键词排名哪家好