mysql缓冲池怎么调 mysql缓冲池 多大( 二 )


innodb_buffer_pool_size = 2G#设置2G
innodb_buffer_pool_size = 500M#设置500M
MySQL5.7及以后版本,改参数时动态的,修改后,无需重启MySQL,但是低版本 , 静态的,修改后,需要重启MySQL 。
如何设置合理的mysql的参数[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql
pid-file = /data/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1 #表示是本机的序号为1,一般来讲就是master的意思
skip-name-resolve
# 禁止MySQL对外部连接进行DNS解析mysql缓冲池怎么调,使用这一选项可以消除MySQL进行DNS解析的时间 。但需要注意,如果开启该选项,
# 则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求
#skip-networking
back_log = 600
# MySQL能有的连接数量 。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,
# 然后主线程花些时间(尽管很短)检查连接并且启动一个新线程 。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中 。
# 如果期望在一个短时间内有很多连接,你需要增加它 。也就是说,如果MySQL的连接数据达到max_connections时,新来的请求将会被存在堆栈中,
# 以等待某一连接释放资源,该堆栈的数量即back_log , 如果等待连接的数量超过back_log,将不被授予连接资源 。
# 另外,这值(back_log)限于您的操作系统对到来的TCP/IP连接的侦听队列的大小 。
# 你的操作系统在这个队列大小上有它自己的限制(可以检查你的OS文档找出这个变量的最大值),试图设定back_log高于你的操作系统的限制将是无效的 。
max_connections = 1000
#
MySQL的最大连接数,如果服务器的并发连接请求量比较大 , 建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,
介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值 , 不能盲目提高设值 。可以过'conn%'通配符查看当前状态的连接
数量,以定夺该值的大小 。
max_connect_errors = 6000
# 对于同一主机,如果有超出该参数值个数的中断错误连接 , 则该主机将被禁止连接 。如需对该主机进行解禁,执行:FLUSH HOST 。
open_files_limit = 65535
# MySQL打开的文件描述符限制,默认最小1024;当open_files_limit没有被配置的时候,比较max_connections*5和ulimit -n的值,哪个大用哪个,
# 当open_file_limit被配置的时候 , 比较open_files_limit和max_connections*5的值,哪个大用哪个 。
table_open_cache = 128
# MySQL每打开一个表 , 都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时 , 才会去磁盘上读取 。默认值64
# 假定系统有200个并发连接 , 则需将此参数设置为200*N(N为每个连接所需的文件描述符数目)mysql缓冲池怎么调;
# 当把table_open_cache设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上
max_allowed_packet = 4M
# 接受的数据包大?。辉黾痈帽淞康闹凳职踩?这是因为仅当需要时才会分配额外内存 。例如,仅当你发出长查询或MySQLd必须返回大的结果行时MySQLd才会分配更多内存 。
# 该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包 , 并确保不会因偶然使用大的信息包而导致内存溢出 。

推荐阅读