今天学习以字母C开头的变量(14个):
character_set_client
character_set_connection
character_set_database
character_set_filesystem
character_set_results
character_set_server
character_set_system
character_sets_dir
collation_connection
collation_database
collation_server
completion_type
concurrent_insert
connect_timeout
可以看出,今天绝大部分都是关于字符集和校对规则的。
1.character_set_client
来自客户端的语句的字符集。
2.character_set_connection
当前连接的字符集。
3.character_set_database
如果你有设置默认数据库,该变量就是默认数据库的字符集。如果没有设置默认数据库,该值就跟character_set_server一样。
4.character_set_filesystem
文件系统字符集。用来解释系统文件名相关的文字。例如:LOAD DATA INFILE ..... 和 SELECT ... INTO OUTFILE .... 和 LOAD_FILE()函数。
5.character_set_results
返回给客户端的查询结果或错误信息的字符集。
6.character_set_server
mysql服务器默认字符集。
7.character_set_system
mysql服务器存放描述符的字符集,总是设为utf8.
8.character_sets_dir
字符集的安装目录。
9.collation_connection
连接的字符集校对规则。
10.collation_database
如果你有设置默认数据库,该变量就是默认数据库的校对规则。如果没有设置默认数据库,该值就跟collation_server一样。
11.collation_server
服务器的默认校对规则。
12.completion_type
对事务完成(COMMIT或者ROLLBACK)进行附加控制。可用值为:
(1)NO_CHAIN:为默认值。事务完成仅仅就是简单的COMMIT或者ROLLBACK。
(2)CHAIN:这种情况下,COMMIT命令就相当于相当于COMMIT AND CHAIN命令,ROLLBACK就相当于ROLLBACK AND CHAIN。一个事务结束后马上开始另一个相同隔离级的新事务。
(3)RELEASE:COMMIT命令就相当于相当于COMMIT RELEASE命令,ROLLBACK就相当于ROLLBACK RELEASE。一个事务结束,会断开服务器连接。
13.concurrent_insert
并发插入设置,是否允许对同一个MyISAM表同时运行SELECT和INSERT语句而不锁表。
可选值为:
(1)NEVER: 不允许
(2)AUTO: 为默认值。仅适用于没有洞的MyISAM表,新插入的行会被插入到表的底端,不锁表。如果有洞,就会锁表,新插入的行会填补漏洞。
(3)ALWAYS:不管MyISAM表是否有洞,新插入的行总是被插入到表的底端。
14.connect_timeout
默认值:10秒。
客户端连接服务器握手过程中,服务器等待的时间。
如果你发现“ Lost connection to MySQL server at 'XXX', system error: errno”之类的错误,考虑增加该值,我设置的是60秒