Mysql物理文件,Mysql数据恢复?

以下都是在Mysql8.0版本 测试的。

ibdata1 共享表不能缩放空间,

独享空间(.idb)删除数据之后,可以缩小空间。

不会占用那么多资源内存。

mysql 默认是独享。

innodb存储数据的方式是通过B+ tree 结构

B+tree 结构是通过索引来构成的。数据存储在树的根部

mysql 有6种日志文件,常用4种

1, 查询日志

2,慢查询日志

3,事务日志【回滚等】

4,二进制日志

5,错误日志

6,中继日志(不常用)

 

1,查询日志(select),一般不建议开启[对内存压力比较大,对硬盘来说没必要]

代码 show variable like"%general_log%"; 配置是不开启的。测试的时候,可以开启下

2,慢查询日志 [*****重要****]

默认不开启,记录指定的 超出某个时间执行的sql(2s-3s)

作用:帮助我们在项目中对于一些查询比较慢的sql进行捕获

 针对这个sql 进行优化。

show  varialbes like  "%slow _query_log%"

查看慢日志的记录文件。

配置my 可以这样做

slow _query_log = on

slow _query_log_file = D:\php\...mysql\data\mysql_slow.log(放到你部署合适的位置就行,不用非得这个位置)

long_query_time =1 【这个一定需要设置,超过一秒就是慢查询】

show  varialbes like  "%slow%"

eg SQL: elect sleep(3);

3.错误日志

     1,记录mysql服务运行过程中产生的异常,不是指SQL异常,而指mysql服务异常

     2,作用是在mysql服务异常时排错和查错

4,(主要了解) 二进制文件。(会记录执行的sql(update,delete,create, insert)写操作)

    1 增量的数据备份及恢复

    2 主从的数据同步

Show variable like ”%log_bin%”

Binlog 日志。

2    

 

 

1,记录,还是可以去写入,因为只是规定大小,而不是限制大小

2,1)定时把二进制文件备份到数据库备份中

  1. 定时对于往期1年的binlog日志文件进行清空(如果服务器的资源充足不建议清空)
  2.  SQL : 查看所有二进制文件,show binary logs。 当前使用的是 show master staus 当前日志。 查询第一个日志 show binlog  events。
  3. 制定show binlog events  in "mysql-bin.000002";
  4. reset master; //清空二进制文件   flush logs;//清空所有的日志文件。

重要 Mysql数据恢复?

用过 xshell  恢复

可以做测试,增加5条数据,之后把数据删除。

 

笔记开启 二进制日志 会消耗1%的性能保证安全性

 

 

 

2 存储 结构

Myisam 数据和索引是分开存储的。Innodb是一起的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章