重建MYSQL主从库
支持半同步,GTID,组提交,从库并发功能.基于最新的MYSQL8.0.24!
先上MY.CNF目录大家改改就能用
[client]port=default-character-set=utf8socket=/tmp/mysql.sock[mysqldump]quickmax_allowed_packet=2G[mysql]no-auto-rehashsohw-warningsprompt="\\u
\\h:\\d\\r:\\m:\\s"default-character-set=utf8[myisamchk]key_buffer=Msort_buffer_size=Mread_buffer=8Mwrite_buffer=8M[mysqlhotcopy]interactive-timeout[mysqld_safe]user=mysqlopen-file-limit=pid-file=/u01/mysql8/soft/mysqld.pidlog-error=/u01/mysql8/soft/mysql-error.log[mysqld]#large-pages#**********25、enforce_gtid_consistency:如果gtid_mode=ON,此值必须开启,可选值为“ON”、“OFF”,表示是否强制gtid的“一致性”避免并发操作。
26、binlog_ignore_db:binlog中忽略的db,master与slave均可以配置,通常在master端。如果需要ignore多个databases,此配置允许声明多次,每次指定一个db。
27、binlog_do_db:指定可以写入binlog的database名字,与binlog_ignore_db相反,只有指定的db才会写入binlog。此配置允许声明多次,每次指定一个db。(上述两个如果在slave上配置,可能还需要开启“log_slave_updates”,默认情况下,slaves端是不写binlog的)
28、replicate_do_db:同上,只是在slave端生效,slave中的SQL线程在读取relaylog时,会检测此变更操作所属DB,SQL线程只会执行此配置参数指定的db。如果不声明replicate_do_db,表示所有的db都会执行。此配置允许声明多次,每次指定一个db。与此配置项对应的还有“replicate_ignore_db=db”、“replicate_db_table=db.table”、“replicate_ignore_table=db.table”。
29、read_only:当前实例是否为“只读”模式,在此模式下除了具有“SUPER”权限的用户外,其他权限用户均不可以修改数据。SUPER权限包括(举例):CHANGEMASTERTO、KILL、SETGLOABL等。通常slave上,需要设定read_only=1以避免客户端意外修改数据,而造成数据错乱问题。默认为“0”(OFF)表示关闭。read_only并不会影响replication进程对数据的变更。
30、super_read_only:对于具有SUPER权限的用户,是否也只读,默认为“0”(OFF)表示关闭。super_read_onl开启时,也会隐式的开启“read_only”参数。
31、slave_preserve_
slave_parallel_type默认为DATABASE,原理参见18,能够确保每个DATABASE中的事务顺序严格一致,但是无法保证所有databases的事务执行顺序也是严格一致的(gap),比如两个事务依次操作了2个DB:A和B,尽管事务A、B分别被workerX、Y线程接收,但是因为线程调度的问题,有可能导致A的执行时机落后于B。
如果你的事务经常是“跨DB”操作,那么可以考虑使用此参数限定顺序。当此参数开启时,这要求任何worker线程执行的事务时,只有当前事务中此之前的所有事务都执行后(被其他worker线程执行),才能执行和提交。(每个事务中,都记录了当前GTID的priviousGTID,只有priviousGTID被提交后,当前GTID事务才能提交)
祖仙教小凡仙
转载请注明:http://www.sonphie.com/jibzd/14179.html