show global variables
auto_increment_offset
自增长字段从那个数开始,他的取值范围是1...65535
auto_increment_increment
表示自增长字段每次递增的量,其默认值是1,取值范围是1...65535.
在主主同步配置时,需要将两台服务器的auto_increment_increment增长量都配置为2,而要把auto_increment_offset分别配置为1和2,这样才可以避免两台服务器同时做更新时自增长字段的值之间发生冲突。
mit
设定MySQL事务是否自动提交,1表示立即提交,0表示需要显式提交。作用范围为全局或会话,可用于配置文件中(),属于动态变量。
1、mysql使用InnoDB的引擎,那么是自动开启事务的,也就是每一条sql都是一个事务(除了select)。
2、由于第一条的原因,mit为on,mit才能提交。
3、在mysql的配置中,mit就是为on,这里要注意,不用非要去mysql配置文件中显示地配置一下。
automatic_sp_privileges
设定MySQL服务器是否为存储例程的创建赋予其创建存储例程上的EXECUTE和ALTER ROUTINE权限,默认为1(赋予此两个权限给其创建者)。作用范围为全局。
back_log
当MySQL的主线程在短时间内收到大量连接请求时,其会花些时间检测已经有线程并为新请求启动新线程,back_log参数的值即为短时间内到达的请求中有多少可以被接受并等待主MySQL线程进行后续处理。作用范围为全局,可以用配置文件,非动态变量。
basedir=PATH
用于指定MySQL的安装目录,所有其它的常用相对路径都相对于此处的路径而言。作用范围为全局,可用于配置文件中,但属于非动态变量。
big_tables
将所有临时表存储在磁盘,而非内存中,缺点是如果某个SQL执行时需要用到临时表,则性能会差很多.
binlog_cache_size
为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存,用于提高记录bin-log的效率,作用于全局。默认值:32768(32K),范围:4096 .. 4294967295
大小选择:没有什么大事务,dml也不是很频繁的情况下可以设置小一点,建议是1048576(1M).如果事务大而且多,dml操作也频繁,则可以适当的调大一点(建议2097152—4194304,即2——4M)。
binlog_direct_non_transactional_updates
参数默认是关闭的。开启后,不管任何情况对非事务表的操作都将记录binlog。
binlog_format
mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。
(1)STATEMENT模式(SBR)
每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)
(2)ROW模式(RBR)
不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。
(3)MIXED模式(MBR)
以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。
binlog_stmt_cache_size
Size of the cache to hold nontransactional statements for the binary log during a transaction
bulk_insert_buffer_size
为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置
mysql全局变量 来自淘豆网m.daumloan.com转载请标明出处.