mysql_redis_syncer

修改配置文件{

配置mysql中server.cf文件客户端不用改变

修改

/etc/my.cnf.d/server.cnf

打开binlog文件和设置checknum为none,mysql5.6以后默认为crc3

binlog_checksum = none
server_id = 1
log-bin = mysql-bin
binlog_format=row

 

 

 

redis配置文件地址:/etc/redis/redis.conf

将 save ""  注释去掉

通过配置文件方式启动redis,默认启动无法保存更改的配置

启动命令 :redis-server /etc/redis/redis.conf& (后台运行)

报错:Reading the configuration file, at line 504
>>> 'dir /var/lib/redis/'
No such file or directory

在/var/lib 下新建一个redis目录

 }

 

查看binglog的命令终端命令行: mysqlbinlog mysql-bin.000090 --base64-output=decode-rows -v   

        mysql客户端:show binlog events in 'mysql-bin.000003';

 

 

redis内存用完后可以设置的策略:

noeviction(默认策略) :对于写请求不再提供服务,直接返回错误(DEL请求和部分特殊请求除外)
allkeys-lru :从所有key中使用LRU算法进行淘汰
volatile-lru :从设置了过期时间的key中使用LRU算法进行淘汰
allkeys-random :从所有key中随机淘汰数据
volatile-random :从设置了过期时间的key中随机淘汰
volatile-ttl :在设置了过期时间的key中,根据key的过期时间进行淘汰,越早过期的越优先被淘汰

在redis4.0后支持:

  • volatile-lfu:在设置了过期时间的key中使用LFU算法淘汰key
  • allkeys-lfu:在所有的key中使用LFU算法淘汰数据


当使用volatile-lru 、volatile-random 、volatile-ttl 这三种策略时,如果没有key可以被淘汰,则和noeviction 一样返回错误

 

通过命令行设置内存配置策略:config set maxmemory-policy allkeys-lru

       内存最大大小:config set maxmemory 100mb

     CONFIG REWRITE  # 将对配置文件的修改写入到 redis.conf 中

直接修改配置文件设置内存配置策略:maxmemory-policy allkeys-lru

        设置内存最大使用大小:maxmemory 100mb

  

 

redis的删除策略:①、定时删除  ②、惰性删除 ③、定期删除(通过设置hz来达到,hz为每秒执行多少次检查过期的键(不是全部只随机抽取一部分进行检查))

 

mysql v4中类型

enum Log_event_type
{
/**
Every time you update this enum ( when you add a type), you have to
fix Format_description_event::Format_description_event().
*/
UNKNOWN_EVENT= 0, 0x00
START_EVENT_V3= 1, 0x01
QUERY_EVENT= 2, 0x02
STOP_EVENT= 3, 0x03
ROTATE_EVENT= 4, 0x04
INTVAR_EVENT= 5, 0x05
LOAD_EVENT= 6, 0x06
SLAVE_EVENT= 7, 0x07
CREATE_FILE_EVENT= 8, 0x08
APPEND_BLOCK_EVENT= 9, 0x09
EXEC_LOAD_EVENT= 10, 0x0A
DELETE_FILE_EVENT= 11, 0x0B
/**
NEW_LOAD_EVENT is like LOAD_EVENT except that it has a longer
sql_ex, allowing multibyte TERMINATED BY etc; both types share the
same class (Load_event)
*/
NEW_LOAD_EVENT= 12, 0x0C
RAND_EVENT= 13, 0x0D
USER_VAR_EVENT= 14, 0x0E
FORMAT_DESCRIPTION_EVENT= 15, 0x0F
XID_EVENT= 16, 0x10
BEGIN_LOAD_QUERY_EVENT= 17, 0x11
EXECUTE_LOAD_QUERY_EVENT= 18, 0x12
TABLE_MAP_EVENT = 19, 0x13
/**
The PRE_GA event numbers were used for 5.1.0 to 5.1.15 and are
therefore obsolete.
*/
PRE_GA_WRITE_ROWS_EVENT = 20, 0x14
PRE_GA_UPDATE_ROWS_EVENT = 21, 0x15
PRE_GA_DELETE_ROWS_EVENT = 22, 0x16
/**
The V1 event numbers are used from 5.1.16 until mysql-trunk-xx
*/
WRITE_ROWS_EVENT_V1 = 23, 0x17
UPDATE_ROWS_EVENT_V1 = 24, 0x18
DELETE_ROWS_EVENT_V1 = 25, 0x19
/**
Something out of the ordinary happened on the master
*/
INCIDENT_EVENT= 26, 0x1A
/**
Heartbeat event to be send by master at its idle time
to ensure master's online status to slave
*/
HEARTBEAT_LOG_EVENT= 27, 0x1B
/**
In some situations, it is necessary to send over ignorable
data to the slave: data that a slave can handle in case there
is code for handling it, but which can be ignored if it is not
recognized.
*/
IGNORABLE_LOG_EVENT= 28, 0x1C
ROWS_QUERY_LOG_EVENT= 29, 0x1D
/** Version 2 of the Row events */
WRITE_ROWS_EVENT = 30, 0x1E
UPDATE_ROWS_EVENT = 31, 0x1F
DELETE_ROWS_EVENT = 32, 0x20
GTID_LOG_EVENT= 33, 0x21
ANONYMOUS_GTID_LOG_EVENT= 34, 0x22
PREVIOUS_GTIDS_LOG_EVENT= 35, 0x23
TRANSACTION_CONTEXT_EVENT= 36, 0x24
VIEW_CHANGE_EVENT= 37, 0x25
/* Prepared XA transaction terminal event similar to Xid */
XA_PREPARE_LOG_EVENT= 38, 0x26
/**
Add new events here - right above this comment!
Existing events ( except ENUM_END_EVENT) should never change their numbers
*/
ENUM_END_EVENT /* end marker */
};
 
 
 
 
posted @ 2022-07-22 09:13  wangzqzero  阅读(111)  评论(0)    收藏  举报