MYSQL的一些特殊功能

2024年 1月 12日 26.8k 0

mysql的一些特殊功能, 基本上都是8.0才有的 (5.7都停止维护了…)

禁用REDO LOG

8.0.21 才支持

ALTER INSTANCE {ENABLE | DISABLE} INNODB REDO_LOG

This action enables or disables InnoDB redo logging. Redo logging is enabled by default. This feature is intended only for loading data into a new MySQL instance. The statement is not written to the binary log. This action was introduced in MySQL 8.0.21.

ALTER INSTANCE DISABLE INNODB REDO_LOG;

基本上没啥用, 也不建议使用…

设置单个库只读

8.0.22 才支持的

alter database db1 read only 1;

之前迁移同步, 目标环境还有其它库(非本次迁移的库), 切换的时候 就可以只设置某个库只读. (可惜当时的版本是8.0.18)

设置MYSQL不被OOM

这其实是OS的功能
如果数据库服务器还有其它应用占用内存, 服务器内存不足时, 就可能会把mysqld干掉, 这是我们不希望的.
所以可以设置Mysqld在内存不足时,不被选为被kill的对象(通常是kill内存多的进程)

方法1:

echo -17 > /proc/`pidof mysqld`/oom_adj

/usr/include/linux/oom.h 定义的OOM_DISABLE

方法2:

mysqld --memlock #要求root账号启动

这个不一定所有的服务器都支持, 可以使用grep mlockall /usr/include/sys/mman.h查看是否支持

相关文章

pt-kill工具的使用
pt-ioprofile工具包的使用
数据库管理-第216期 Oracle的高可用-01(20240703)
DBMS_REPAIR EXAMPLE SCRIPT WITH PARTITION
数据库事务的四大特性: ACID 
使用BBED修复损坏的SYSTEM文件头

发布评论