浏览模式: 普通 | 列表
4月, 2021 | 1

mysqlbinlog增量恢复

[ 2021-04-30 16:24:38 | 作者: admin ]
p.s. mysqlbinlog可以按照pos和datetime,指定database,来浏览和导出为sql文件,也可以直接传递给mysql直接执行sql语句

mysqlbinlog工具的作用是解析mysql的二进制binlog的日志内容,把二进制日志解析成可以在MySQL数据库里执行的SQL语句。
1.mysql的binlog日志是什么

mysql数据目录下的xxx-bin.000001这样的文件就是mysql的binlog日志
2.mysql的binlog日志的作用

mysql的binlog日志用于记录MySQL内部的增删改等操作,也就是对MySQL数据库更新内容的记录(对数据库的改动),对数据库进行查询的语句(如以show、select开头的语句),不会被binlog日志记录。binlog日志的主要作用是数据库的主从复制以及数据灾难后的增量恢复。
...

阅读全文…

mysql的查询缓存query_cache相关问题

[ 2021-04-23 09:44:14 | 作者: admin ]
p.s.表的更新不频繁可以开启query_cache,否则开启之后反而会降低性能。表中只要更新了一个点击量或者新插一条记录,则这个表相关的所有查询缓存都会清空重来。所以query_cache要慎用,建议用memcache和redis替代。

在终端或phpmyadmin获取相关变量
mysql> SHOW global variables like '%cache%';

在终端或phpmyadmin获取相关状态
mysql> SHOW GLOBAL STATUS LIKE '%cache%'

临时关闭query_cache
mysql> set global query_cache_size=0;
mysql> set global query_cache_type=0;
...

阅读全文…
MySQL如果频繁的修改一个表的数据,那么这么表会被锁死。造成假死现象。
解决办法:
首先执行:show full processlist; 列出当前的操作process,一般会看到很多waiting的process,说明已经有卡住的proces了,我们要杀死这些process!!
show full processlist;


再执行:kill processid; processid表示process的id,比如kill 3301,就会将id为3301的process杀死。
kill processid;


使用 kill 将所有的 id 杀死。然后重启MySQL,一般就会解决了。如果还不行,那应该是不可能的吧。。。
一般情况下都不需要重启MySQL:
net stop mysql //停止MySQL
...

阅读全文…
1