问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

《海底两万里》第八章概括是什么?

发布网友 发布时间:2022-04-10 19:36

我来回答

3个回答

懂视网 时间:2022-04-10 23:57

一.MySQL日志简介

?技术图片

二.错误日志

1.作用:

记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志。

2.默认位置:

$MYSQL_HOME/data/

3.开启方式:(MySQL安装完后默认开启)

#编辑配置文件
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
log_error=/application/mysql/data/$hostname.err
#查看方式
mysql> show variables like 'log_error';

三.一般查询日志

1.作用:

记录mysql所有执行成功的SQL语句信息,可以做审计用,但是我们很少开启。

2.默认位置:

$MYSQL_HOME/data/

3.开启方式:(MySQL安装完之后默认不开启)

#编辑配置文件
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
general_log=on
general_log_file=/application/mysql/data/$hostnamel.log
#查看方式
mysql> show variables like '%gen%';

四.二进制日志

?技术图片

1.作用:

记录已提交的DML事务语句,并拆分为多个事件(event)来进行记录
记录所有DDL、DCL等语句
总之,二进制日志会记录所有对数据库发生修改的操作

2.二进制日志模式:

statement:语句模式,上图中将update语句进行记录(默认模式)。
row:行模式,即数据行的变化过程,上图中Age=19修改成Age=20的过程事件。
mixed:以上两者的混合模式。
企业推荐使用row模式

3.优缺点:

  • statement模式:
    优点:简单明了,容易被看懂,就是sql语句,记录时不需要太多的磁盘空间。
    缺点:记录不够严谨。

  • row模式:
    优点:记录更加严谨。
    缺点:有可能会需要更多的磁盘空间,不太容易被读懂。

  • binlog的作用:

    1)如果我拥有数据库搭建开始所有的二进制日志,那么我可以把数据恢复到任意时刻
    2)数据的备份恢复
    3)数据的复制

    4.二进制日志的管理操作实战

    开启方式

    [root@db01 data]# vim /etc/my.cnf
    [mysqld]
    log-bin=mysql-bin
    binlog_format=row

    注意:在mysql5.7中开启binlog必须要加上server-id。

    [root@db01 data]# vim /etc/my.cnf
    [mysqld]
    log-bin=mysql-bin
    binlog_format=row
    server_id=1

    5.二进制日志的操作

    #物理查看
    [root@db01 data]# ll /application/mysql/data/
    -rw-rw---- 1 mysql mysql 285 Mar 6 2017 mysql-bin.000001
    #命令行查看
    mysql> show binary logs;
    mysql> show master status;
    #查看binlog事件
    mysql> show binlog events in 'mysql-bin.000007';

    6.事件介绍

    1)在binlog中最小的记录单元为event
    2)一个事务会被拆分成多个事件(event)

    7.事件(event)特性

    1)每个event都有一个开始位置(start position)和结束位置(stop position)。
    2)所谓的位置就是event对整个二进制的文件的相对位置。
    3)对于一个二进制日志中,前120个position是文件格式信息预留空间。
    4)MySQL第一个记录的事件,都是从120开始的。

    8.row模式下二进制日志分析及数据恢复

    #查看binlog信息
    mysql> show master status;
    #创建一个binlog库
    mysql> create database binlog;
    #使用binlog库
    mysql> use binlog
    #创建binglog_table表
    mysql> create table binlog_table(id int);
    #查看binlog信息
    mysql> show master status;
    #插入数据1
    mysql> insert into binlog_table values(1);
    #查看binlog信息
    mysql> show master status;
    #提交
    mysql> commit;
    #查看binlog信息
    mysql> show master status;
    #插入数据2
    mysql> insert into binlog_table values(2);
    #插入数据3
    mysql> insert into binlog_table values(3);
    #查看binlog信息
    mysql> show master status;
    #提交
    mysql> commit;
    #删除数据1
    mysql> delete from binlog_table where id=1;
    #查看binlog信息
    mysql> show master status;
    #提交
    mysql> commit;
    #更改数据2为22
    mysql> update binlog_table set id=22 where id=2;
    #查看binlog
    mysql> show master status;
    #提交
    mysql> commit;
    #查看binlog信息
    mysql> show master status;
    #查看数据
    mysql> select * from binlog_table;
    #删表
    mysql> drop table binlog_table;
    #删库
    mysql> drop database binlog;

    9.恢复数据到delete之前

    #查看binlog事件
    mysql> show binlog events in 'mysql-bin.000013';
    #使用mysqlbinlog来查看
    [root@db01 data]# mysqlbinlog /application/mysql/data/mysql-bin.000013
    [root@db01 data]# mysqlbinlog /application/mysql/data/mysql-bin.000013|grep -v SET
    [root@db01 data]# mysqlbinlog --base64-output=decode-rows -vvv mysql-bin.000013
    ### UPDATE `binlog`.`binlog_table`
    ### WHERE
    ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
    ### SET
    ### @1=22 /* INT meta=0 nullable=1 is_null=0 */
    #分析
    update binlog.binlog_table
    set
    @1=22 --------->@1表示binlog_table中的第一列,集合表结构就是id=22
    where
    @1=2 --------->@1表示binlog_table中的第一列,集合表结构就是id=2
    #结果
    update binlog.binlog_table set id=22 where id=2;
    #截取二进制日志
    查看二进制日志后,发现delete语句开始位置是858
    [root@db01 data]# mysqlbinlog --start-position=120 --stop-position=858 /application/mysql/data/mysql-bin.000013
    #临时关闭binlog
    mysql> set sql_log_bin=0;
    #执行sql文件
    mysql> source /tmp/binlog.sql
    #查看删除的库
    mysql> show databases;
    #进binlog库
    mysql> use binlog
    #查看删除的表
    mysql> show tables;
    #查看表中内容
    mysql> select * from binlog_table;

    10.思考,存在问题:

    数据库或表被误删除的是很久之前创建的(一年前)
    
    如果基于binlog全量恢复,成本很高
    1)可以用备份恢复+短时间内二进制日志,恢复到故障之前
    2)非官方方法,binlog2sql,binlog取反,类似于Oracle的flushback
    3)延时从库 如果同一时间内和故障库无关的数据库都有操作,在截取binlog时都会被截取到
    
    想一个办法过滤出来?
    1)grep?
    
    其他过滤方案?
    1)-d 参数接库名

    11.模拟数据

    #为了让大家更清晰看到新的操作
    #刷新一个新的binlog
    mysql> flush logs;
    #创建db1、db2两个库
    mysql> create database db1;
    mysql> create database db2;
    
    #库db1操作
    mysql> use db1
    #创建t1表
    mysql> create table t1(id int);
    #插入5条数据
    mysql> insert into t1 values(1),(2),(3),(4),(5);
    #提交
    mysql> commit;
    
    #库db2操作
    mysql> use db2
    #创建t2表
    mysql> create table t2(id int);
    #插入3条数据
    mysql> insert into t2 values(1),(2),(3);
    #提交
    mysql> commit;
    
    #查看binlog事件
    mysql> show binlog events in 'mysql-bin.000014';
    #查看db1的操作
    [root@db01 data]# mysqlbinlog -d db1 --base64-output=decode-rows -vvv /application/mysql/data/mysql-bin.000014

    12.删除、刷新binlog

    刷新binlog日志

    1)flush logs;
    2)重启数据库时会刷新
    3)二进制日志上限(max_binlog_size)

    删除二进制日志

    1)原则
    在存储能力范围内,能多保留则多保留
    基于上一次全备前的可以选择删除

    13.删除方式

    1.根据存在时间删除日志

    #临时生效
    SET GLOBAL expire_logs_days = 7;
    #永久生效
    [root@db01 data]# vim /etc/my.cnf
    [mysqld]
    expire_logs_days = 7

    2.使用purge命令删除

    PURGE BINARY LOGS BEFORE now() - INTERVAL 3 day;

    3.根据文件名删除

    PURGE BINARY LOGS TO 'mysql-bin.000010';

    4.使用reset master

    mysql> reset master; 

    五.慢查询日志

    1.作用:

    1)是将mysql服务器中影响数据库性能的相关SQL语句记录到日志文件
    2)通过对这些特殊的SQL语句分析,改进以达到提高数据库性能的目的

    2.默认位置:

    $MYSQL_HOME/data/$hostname-slow.log

    3.开启方式(默认没有开启):

    [root@db01 ~]# vim /etc/my.cnf
    [mysqld]
    #指定是否开启慢查询日志
    slow_query_log = 1
    #指定慢日志文件存放位置(默认在data)
    slow_query_log_file=/application/mysql/data/slow.log
    #设定慢查询的阀值(默认10s)
    long_query_time=0.05
    #不使用索引的慢查询日志是否记录到索引
    log_queries_not_using_indexes
    #查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
    min_examined_row_limit=100(鸡肋)

    4.模拟慢查询语句

    #进入world库
    mysql> use world
    #查看表
    mysql> show tables
    #将city表中所有内容加到t1表中
    mysql> create table t1 select * from city;
    #查看t1的表结构
    mysql> desc t1;
    #将t1表所有内容插入到t1表中(多插入几次)
    mysql> insert into t1 select * from t1;
    mysql> insert into t1 select * from t1;
    mysql> insert into t1 select * from t1;
    mysql> insert into t1 select * from t1;
    #提交
    mysql> commit;
    #删除t1表中id>2000的数据
    mysql> delete from t1 where id>2000;
    #查看慢日志
    [root@db01 ~]# cat /application/mysql/data/mysql-db01

    5.使用mysqldumpslow命令来分析慢查询日志

    #输出记录次数最多的10条SQL语句?$PATH/mysqldumpslow -s c -t 10 /database/mysql/slow-log
    
    参数说明:
    -s:
    是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
    -t:
    是top n的意思,即为返回前面多少条的数据;
    -g:
    后边可以写一个正则匹配模式,大小写不敏感的;

    6.例:

    #得到返回记录集最多的10个查询
    $PATH/mysqldumpslow -s r -t 10 /database/mysql/slow-log?#得到按照时间排序的前10条里面含有左连接的查询语句?$PATH/mysqldumpslow -s t -t 10 -g “left join”/database/mysql/slow-log

    7.第三方推荐(扩展):

    yum install -y percona-toolkit-3.0.11-1.el6.x86_64.rpm

    使用percona公司提供的pt-query-digest工具分析慢查询日志

    [root@mysql-db01 ~]# pt-query-digest /application/mysql/data/mysql-db01-slow.log

    有能力的可以做成可视化界面:
    Anemometer基于pt-query-digest将MySQL慢查询可视化
    httpss://www.percona.com/downloads/percona-toolkit/LATEST/ 慢日志分析工具下载
    httpss://github.com/box/Anemometer 可视化代码下载
    ?技术图片

    第八章· MySQL日志管理

    标签:err   影响   可视化   查询语句   修改   art   创建   x86_64   let   

    热心网友 时间:2022-04-10 21:05

    《海底两万里》第八章概括是尼摩艇长带我们参观“鹦鹉螺号”上有一万两千册藏书的图书室,图书室没有*经济学方面的书,给我抽用海藻制成的雪茄。

    第八章动中之动,我们三人被关进一间黑屋子。半小时后,突然眼前一亮,进来两个人。我们用法语、英语、德语和拉丁文进行自我介绍,对方均无反应。他们走了,侍者送来食物,我们饱餐后就进入了梦乡。

    海底两万里的故事情节:

    《海底两万里》写于1870年,是儒勒凡尔纳著名的四部曲的第二部,第一部是《格兰特船长的儿女》、第三部是《神秘岛》、第四部是《环游地球八十天》。这部作品叙述法国生物学者阿龙纳斯在海洋深处旅行的故事。

    这事发生在一八六六年,当时海上发现了一只被断定为独角鲸的大怪物。他接受邀请参加追捕,在追捕过程中不幸落水,泅到怪物的脊背上。其实这怪物并非什么独角鲸,而是一艘构造奇妙的潜水船。潜水船是船长尼摩在大洋中的一座荒岛上秘密建造的,船身坚固,利用海洋发电。

    热心网友 时间:2022-04-10 22:23

    1、第八章 鹦鹉螺号:尼摩艇长带我们参观“鹦鹉螺号”上有一万两千册藏书的图书室,图书室没有*经济学方面的书,给我抽用海藻制成的雪茄。他带我观赏客厅,客厅实际上是博物馆,有名画、著名音乐家的乐谱、植物、贝壳和海产品,还有价值连城的珍珠。又带我看了他为我准备的雅致的房间以及他自己住的简陋的房间。2、第九章 一切都用电:尼摩艇长给我们介绍房间里各种仪表的用途,潜水艇上的一切都靠电,而生产电力的原料是海水中的钠,尼摩船长又向我介绍如何开采海底矿藏,如何提供空气,又介绍一只小艇的用途,还带我参观了厨房。3、第十章 几组数字:尼摩艇长向我介绍潜水艇的概况、构造、动力、发光、建造过程等。船体由双层船壳构成,一层内层,一层外层,壳之间用T字形蹄铁连接,使得船身坚硬无比。没有船身左右摇摆就能毁坏的缆索,没有风可以吹走的帆,没有蒸汽可以破裂的锅炉,不会发生火灾,不会遇到可怕的碰撞,不会受到风暴的袭击。诺第留斯号上的每一个构件都来自地球上的不同地方。最后在大洋中的一个孤岛建立了加工厂,总造价200万法郎,加上艺术品和收藏共四五百万法郎。扩展资料艺术特色《海底两万里》是凡尔纳的代表作之一,代表了凡尔纳丰富多彩的想象和缜密细腻的行文特点。小说中情节设置古怪离奇,生动形象地描绘了充满神秘色彩的海底世界。语言生动有趣,既是艺术的语言,又是科学的语言,对各种海底事物的说明入木三分,惟妙惟肖。特别是那艘鹦鹉螺潜艇,让读者如痴如醉。《海底两万里》中描写的潜艇起名为“鹦鹉螺”,而鹦鹉螺正是以自身薄薄的几毫米螺壳而承受下潜到百米深海后所面临的巨大水压的螺壳动物。这一细节充分表现了凡尔纳广博的科学知识。参考资料来源:
    只要你自己尝试几次就完全没有问题了,而且电脑手机都没影响的。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    ...是多少?如果在青海湖没有出现高原反应,那么在拉萨市一般也不会_百度... 2023长虫山开车最佳到山顶路线 蛋挞怎么做好吃 蛋挞的做法是什么 如图,斜三棱柱ABC-A1B1C1中,A1C1⊥BC1,AB⊥AC,AB=3,AC=2,侧棱与底面... 魅族20classic手机通病 为什么反映魅族手机质量、发热、续航、信号与系统bug的网友如此多... 快来人,急救,魅族mx出问题了 我的魅蓝note2(系统是Flyme5.1.6)在联系人里存到有备注的号码怎么在来... 有拿到魅族mx3的吗,我的到了问题好多啊。 揭秘!女友说“你不爱我了”的真正含义 入了深户,还可以在广西参考教师资格证考试吗? 郑姓女孩名字大全201412月 请问入深户有些什么证件 蛇年郑姓女孩起什么名字好? 韩国有位姓郑的女明星``我不知道全名啊``同志啊`帮帮忙塞`` 港台女明星姓郑的都那些 谁能告诉我韩国姓郑的女明星都有谁?? 中国郑姓女星都有哪些 中国姓郑的女明星有哪些 桂花山药的食用须知 怎么改变文件的扩展名(后缀) 桂花山药怎么做? 近视眼镜戴着鼻托部分很累怎么办? 眼镜上面的鼻托戴着不舒服,怎么解决? 1976年属龙男和1988年属龙女相配吗 88年属龙男的和属龙女的结婚能过一辈子吗 ttf格式直接改后缀bytes可以吗 属龙男和属羊女婚姻如何... 归客手游代理真的能赚钱? 双子座属龙的男人和巨蟹座属猴的女人配不配? 360摄像机怎么设置云盘 360摄像头的录像能自动存入360云盘吗? 360云盘到底是怎么用啊??? 怎样使用360云盘 360云盘怎么用? 怎么将摄像机mp4文件存到360云盘 为什么微信退出,再登录就显示帐号错误,或密码错误? 我用朋友的他把我开起保护模式了要用手持身份证照片才能开我都不知道怎么开? 被封了解封时要填写身份证 这样会对身份证有什么影响么? 请问:蝈蝈是中国特有物种吗?国外那个国家有蝈蝈?谢谢! 怎样设置QQ目录页面壁纸 头发干燥,头皮屑多怎么办? 头发干、头皮屑多怎么办? 我的头发很干,硬,每天都洗头,头皮屑还是很多,出汗时头皮特别痒,根本忍不住,在公共场合还不好意思挠 头皮痒,头发干,头屑特别多 苹果12屏幕上的圆点怎么设置 汕头哪里有室内空气检测的 汕头市康态环保科技有限公司怎么样? 汕头市奇正检测技术服务有限公司怎么样? 汕头装修除甲醛方法有哪些