网站设计和建设自考题网站设计好后如何发布

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

网站设计和建设自考题,网站设计好后如何发布,报价表,国外模板wordpress目录 1、日志管理 2、查询日志
3、数据备份的重要性
4、数据库备份的分类
4.1物理备份 4.2逻辑备份#xff1a; 4.3完全备份 5、常见的备份方法
6、MySQL完全备份
6.1MySQL完全备份优缺点 6.2数据库完全备份分类
6.2.1物理冷备份与恢复 6.2.2mysqldump备份…目录 1、日志管理 2、查询日志  3、数据备份的重要性  4、数据库备份的分类  4.1物理备份 4.2逻辑备份 4.3完全备份 5、常见的备份方法  6、MySQL完全备份  6.1MySQL完全备份优缺点 6.2数据库完全备份分类   6.2.1物理冷备份与恢复 6.2.2mysqldump备份与恢复 7、完全备份 7.1MySQL物理冷备份及恢复 7.2逻辑备份mysqldump备份与恢复 完全备份一个或多个完的库(包括其中所有的表) 完全备份指定库中的部分表 完全备份MySQL,服务器中所有的库 查看备份文件  8、MySQL完全恢复 8.1恢复数据库 8.2恢复数据表  ​编辑 9、MySQL增量备份 10、MySQL增量备份与恢复试验 MySQL增量备份 开启二进制日志功能 可每周对数据库或表进行完全备份 可每天进行增量备份操作,生成新的二进制日志文件  再次生成新的二进制日志文件  查看二进制日志文件的内容  MySQL 增量恢复  一般恢复 基于位置恢复 基于时间点恢复 1、日志管理 MySQL的日志默认保存位置为/usr/local/mysql/data

vim /etc/my.cnf

[mysqld] ​ #错误日志用来记录当MySQL启动、停止或运行时发生的错误信息默认已开启 log-error/usr/local/mysql/data/mysql_error.log #指定日志的保存位置和文件名​#通用查询日志用来记录MySQL的所有连接和语句默认是关闭的 general_logON #开启通用查询 日志 general_log_file/usr/local/mysql/data/mysql_general.log#二进制日志binlog用来记录所有更新了数据或者已经潜在更新了数据的语句记录了数据的更改可用于数据恢复默认己开启 log-binmysql-bin #也可以log_binmysql-bin#慢查询日志用来记录所有执行时间超过long_query_time秒的语句可以找到哪些查询语句执行时间长以便于优化默认是关闭的 slow_query_logON slow_query_log_file/usr/local/mysql/data/mysql_slow_query.log long_query_time2 #设置超过2秒执行的语句被记录缺省时为10秒 ————————————————- ​ systemctl restart mysqld 2、查询日志  #登录进入数据库 mysql -u root -p123123#查看通用查询日志是否开启 show variables like general%; #查看二进制日志是否开启 show variables like log_bin%; #查看慢查询日志功能是否开启 show variables like %slow%; #查看慢查询时间设置 show variables like long_query_time; #在数据库中设置关闭慢查询的方法 set global slow_query_logOFF; 3、数据备份的重要性  备份的主要目的是灾难恢复 在生产环境中数据的安全性至关重要 任何数据的丢失都可能产生严重的后果 造成数据丢失的原因 程序错误人为操作错误运算错误磁盘故障灾难如火灾、地震和盗窃 4、数据库备份的分类  从物理与逻辑的角度备份可分为物物理备份与逻辑备份 从数据库的备份策略角度备份可分为完全备份、差异备份、 增量备份 4.1物理备份 对数据库操作系统的物理文件如数据文件、 日志文件等的备份 物理备份方法 冷备份脱机备份是在关闭数据库的时候进行的热备份联机备份数据库处于运行状态依赖于数据库的日志文件温备份数据库锁定表格不可写入但可读的状态下进行备份操作 4.2逻辑备份 对数据库逻辑组件如表等数据库对象的备份  4.3完全备份 完全备份每次对数据库进行完整的备份差异备份备份自从上次完全备份之后被修改过的文件增量备份只有在上次完全备份或者增量备份后被修改的文件才会被备份 5、常见的备份方法  物理冷备 备份时数据库处于关闭状态直接打包数据库文件备份速度快恢复时也是最简单的 专用备份工具mydump或mysqlhotcopy mysqldump常用的逻辑备份工具mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表 启用二进制日志进行增量备份 进行增量备份需要刷新二进制日志 第三方工具备份 免费的MySQL热备份软件Percona XtraBackup 6、MySQL完全备份  是对整个数据库、数据库结构和文件结构的备份 保存的是备份完成时刻的数据库 是差异备份与增量备份的基础 6.1MySQL完全备份优缺点 优点 备份与恢复操作简单方便 缺点 数据存在大量的重复占用大量的备份空间备份与恢复时间长 6.2数据库完全备份分类   6.2.1物理冷备份与恢复 关闭MySQL数据库使用tar命令直接打包数据库文件夹直接替换现有MySQL目录即可 6.2.2mysqldump备份与恢复 MySQL自带的备份工具可方便实现对MySQL的备份可以将指定的库、表导出为SQL脚本使用命令mysql导入备份的数据 7、完全备份 7.1MySQL物理冷备份及恢复 从192.168.92.7备份到192.168.92.6 配置192.168.92.7 先查看192.168.92.7 关闭数据库并打包数据库文件 systemctl stop mysqld #关闭mysql服务 mkdir /backup #创建备份目录 rpm -q xz #使用xz工具进行压缩查看本系统中是否安装xz工具如果没安装用yum安装 yum install xz -y tar Jcf /backup/mysqlall\((date %F).tar.xz /usr/local/mysql/data #打包数据库文件并将数据库文件存放到/usr/local/mysql/data ​​cd /backup/ #切换到备份目录 ls #查看目录内容 tar tf mysql_all_2024-03-26.tar.xz #查看tar包内的文件 恢复数据库 scp /backup/mysql_all_2024-03-26.tar.xz 192.168.92.6:/root #将本机数据库文件远程传输到192.168.92.6主机的root目录下 配置192.168.92.6 将data复制到/usr/local/mysql目录下 7.2逻辑备份mysqldump备份与恢复 完全备份一个或多个完的库(包括其中所有的表) mysqldump -u root -p[密码]--databases库名1[库名2]../备份路径/备份文件名.sql #导出的就是数据库脚本文件 例: mysqldump -u root -p123123 --databases my /opt/backup/my.sql mysqldump -u root -p123123 --databases my qyd /opt/backup/my_qyd.sql 完全备份指定库中的部分表 mysqldump -u root -p[密码] [-d] 库名 表名1 [表名2] ... /备份路径/备份文件名.sql #使用-d选项,说明只保存数据库的表结构 不使用-d选项,说明表数据也进行备份 例: mysqldump -u root -p123123 my account t1 /opt/backup/account_t1.sql 完全备份MySQL,服务器中所有的库 mysqldump -u root -p[密码] --all-databases / 备份路径/备份文件名.sql 例 ​ mysqldump -u root -p --all-databases /opt/backup/all.sql #完全备份所有的库 查看备份文件  cat 备份文件名 | grep -v ^-- | grep -v ^/ | grep -v ^\) 例 cat /opt/backup/account_t1.sql | grep -v ^– | grep -v ^/ | grep -v ^$ 8、MySQL完全恢复 8.1恢复数据库 systemctl start mysqld #开启mysql服务#删除已备份数据库 mysql -u root -p[密码] -e drop database 数据库; #-e选项,用于指定连接MySQL后执行的命令,命令执行完后自动退出 #查看所有的库 mysql -u root -p[密码] -e SHOW DATABASES; #将备份的数据库重定向输入到数据库中 mysql -u root -p[密码] /备份路径/备份文件名 #查看系统中的库 mysql -u root -p[密码] -e SHOW DATABASES; #查看库中的表 mysql -u root -p[密码] -e ‘select * from 库名.表名; 恢复数据库 8.2恢复数据表  当备份文件中只包含表的备份而不包含创建的库的语句时执行导入操作时必须指定库名且目标库必须存在。 mysqldump -u root -p123123 my t1 /opt/backup/t1.sql #备份my库中的表t1 mysql -u root -p123123 -e drop table my.t1; #删除my库中的已备份的表t1 mysql -u root -p123123 qyd /opt/backup/t1.sql #恢复表,讲备份的表重定向输入到qyd库中 mysql -u root -p123123 -e show tables from qyd; #查看所有qyd库中的表 mysql -u root -p123123 -e select * from qyd.t1; #查看t1表数据记录 9、MySQL增量备份 使用mysqldump进行完全备份存在的问题 备份数据中有重复数据备份时间与恢复时间过长 增量备份是自上一次备份后增加/变化的文件或者内容 特点 没有重复数据备份量不大时间短恢复需要上次完全备份及完全备份之后所有的增量备份才 能恢复而且要对所有增量备份进行逐个反推恢复 MySQL没有提供直接的增量备份方法 可通过MySQL提供的二进制日志间接实现增量备份 MySQL二进制日志对备份的意义 二进制日志保存了所有更新或者可能更新数据库的操作二进制日志在启动MySQL服务器后开始记录并在文件达到 max_binlog_size所设置的大小或者接收到flush logs命令后重新 创建新的日志文件只需定时执行flush logs方法重新创建新的日志生成二进制文件序列并及时把这些日志保存到安全的地方就完成了一个时间 段的增量备份 10、MySQL增量备份与恢复试验 MySQL增量备份 开启二进制日志功能

vim /etc/my.cnf

[mysqld] log-binmysql-bin binlog_format MIXED #可选,指定二进制日志(binlog)的记录格式为MIXED server-id 1 systemctl start mysqld cd /usr/local/mysql/data ls 二进制日志(binlog)有3种不同的记录格式: STATEMENT(基于SQL语句)Row(基于行)MIXED(混合模式),默认格式是STATEMENT 可每周对数据库或表进行完全备份 mysqldump -u root -p123123 my t1 /opt/myt1\((date %F).sql #备份my库里的t1表 mysqldump -u root -p123123 --databases my /opt/my_\)(date %F).sql #备份my库 可每天进行增量备份操作,生成新的二进制日志文件  mysqladmin -uroot -p flush-logs 再次生成新的二进制日志文件  mysqladmin -u root -p123123 flush-logs #之前的步骤4的数据库操作会保存到mysql-bin.000004文件中之后数据库数据再发生变化则保存在mysql-bin.00005文件中 查看二进制日志文件的内容  cp /usr/local/mysql/data/mysql-bin.000004 /opt/ mysqlbinlog –no-defaults –base64-outputdecode-rows -v /opt/mysql-bin.000004 #–base64-outputdecode-rows:使用64位编码机制去解码并按行读取 #-v:显示详细内容 MySQL 增量恢复  一般恢复 将所有备份的二进制日志内容全部恢复 use my; delete from t1 where id7; delete from t1 where id8; mysqlbinlog –no-defaults /usr/local/mysql/data/mysql-bin.000004 | mysql -u root -p123123 #通过二进制日志进行恢复 基于位置恢复 数据库在某一时间点可能既有错误的操作也有正确的操作 可以基于精准的位置跳过错误的操作 在数据库中插入数据并查看 insert into t1 values(7,1212,7); #插入语句 insert into t1 values(8,1313,8); #插入语句 mysqladmin -u root -p123123 flush-logs #刷新日志文件 mysqlbinlog –no-defaults –base64-outputdecode-rows -v /usr/local/mysql/data/mysql-bin.000006 #查看日志文件内容新生成日志的前一个日志 基于时间点恢复 跳过某个发生错误的时间点实现数据恢复 基于时间恢复 mysqlbinlog –no-defaults –start-datetime2022-06-10 17:10:58 /usr/local/mysql/data/mysql-bin.000006 |mysql -uroot -p123123