1.nmap的应用:
主机探测
端口扫描
版本检测
系统检测
支持探测脚本的编写
我们可以通过设置让Linux对nmap扫描无回应,利用iptables工具来过滤网络信息,从而让系统无法回应扫描请求的信息
配置命令如下:
binlog
1.简单了解binlog
MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL(create alter drop)和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
2.binlog增量备份的实现步骤:
编辑打开mysql配置文件
重启MySQL服务
service mysql resstart
检查是否启用日志
1)进入数据库,show master status;
2)查看/var/lib/mysql 可以看到binlog日志文件和日志的索引文件
配置命令:
手动生成新的日志文件
重置(清空)所有binlog日志
查看binlog日志内容,
常用有两种方式
1)使用mysqlbinlog自带查看命令法
注意:
–>binlog是二进制文件,普通文件查看器cat、more、vim等都无法打开,必须使用自带的mysqlbinlog命令查看。
–>binlog日志与数据库文件在同目录中。
–>在MySQL5.5以下版本使用mysqlbinlog命令时如果报错,就加上 “–no-defaults”选项。
2)一种更为方便的查询命令
第一种办法读取出binlog日志的全文内容比较多,不容易分辨查看到pos点信息
利用binlog日志恢复mysql数据
mysql> use ops;
mysql> CREATE TABLE IF NOT EXISTS member
(
-> id
int(10) unsigned NOT NULL AUTO_INCREMENT,
-> name
varchar(16) NOT NULL,
-> sex
enum(‘m’,‘w’) NOT NULL DEFAULT ‘m’,
-> age
tinyint(3) unsigned NOT NULL,
-> PRIMARY KEY (id
)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.10 sec)
mysql> show tables;
±--------------+
| Tables_in_ops |
±--------------+
| member |
±--------------+
1 row in set (0.00 sec)
mysql> desc member;
±--------±--------------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±--------±--------------------±-----±----±--------±---------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(16) | NO | | NULL | |
| sex | enum(‘m’,‘w’) | NO | | m | |
| age | tinyint(3) unsigned | NO | | NULL | |
| classid | char(6) | YES | | NULL | |
±--------±--------------------±-----±----±--------±---------------+
5 rows in set (0.00 sec)
事先插入两条数据
mysql> insert into member(name
,sex
,age
,classid
) values(‘wangshibo’,‘m’,27,‘cls1’),(‘guohuihui’,‘w’,27,‘cls2’);
Query OK, 2 rows affected (0.08 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from member;
±—±----------±----±----±--------+
| id | name | sex | age | classid |
±—±----------±----±----±--------+
| 1 | wangshibo | m | 27 | cls1 |
| 2 | guohuihui | w | 27 | cls2 |
±—±----------±----±----±--------+
2 rows in set (0.00 sec)
3.redolog和binlog两者的关系
两者都不可以单独使用。
先写readlog 而不写binlog 回导致回复不到原来数据
先写binlog 不写reaolog 会导致还没真正写入就回复了
redolog 和 binlog 都可以用于表示事务的提交状态,而两阶段提交就是让这两个状态保持逻辑上的一致。
redolog 是先 prepare 状态,等 binlog 写完之后,才是 commit 状态,这种方式就叫"两阶段提交"。
redolog 和 binlog 都可以用于表示事务的提交状态,而两阶段提交就是让这两个状态保持逻辑上的一致。
如果不采用这种方式,而是就先写 redolog ,再写 binlog ,会怎样?如果在写 binlog 时,发生了异常,更新操作已经到 redolog 中了,但是此时 binlog 并没有进行更新,就出现了数据不一致,先写 binlog 再写 redolog 也是一样的道理。所以,在写时,先让 redolog 处于 prepare 状态,等 binlog 写完之后,再让 redo log 处于 commit 状态,这样就保持了逻辑上的一致。
由binlog和redolog的概念和区别可知:binlog日志只用于归档,只依靠binlog是没有crash-safe能力的。但只有redolog也不行,因为redolog是InnoDB特有的,且日志上的记录落盘后会被覆盖掉。因此需要binlog和redolog二者同时记录,才能保证当数据库发生宕机重启时,数据不会丢失