以下都是在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 日志。
1,记录,还是可以去写入,因为只是规定大小,而不是限制大小
2,1)定时把二进制文件备份到数据库备份中
重要 Mysql数据恢复?
用过 xshell 恢复
可以做测试,增加5条数据,之后把数据删除。
笔记开启 二进制日志 会消耗1%的性能,保证安全性
2 存储 结构
Myisam 数据和索引是分开存储的。Innodb是一起的。