my.cnf
slow_query_log=1
long_query_time=1
SET GLOBAL long_query_time = 1;
默认值10,单位秒
设置后需重新开启一个mysql客户端才能查看到修改后的值
默认值151
my.cnf
max_connections = 1000
set global max_connections=1000;
默认值134217728,就是128M
如何确定 innodb_buffer_pool_size 足够大,数据是从内存读取而不是硬盘?
SHOW GLOBAL STATUS LIKE 'innodb_buffer_pool_pages_%';
发现 Innodb_buffer_pool_pages_free 为 0,则说明 buffer pool 已经被用光,需要增大 innodb_buffer_pool_size
改为256M
mysql5.7可以动态修改
mysql> set global innodb_buffer_pool_size=268435456;
记得把my.cnf也修改了,避免重启服务器之后之前的设置失效
在mysqld下增加
innodb_buffer_pool_size=268435456
mysql> show engine innodb status\G;
CREATE TABLE mydb.mytablenew LIKE mydb.mytable;INSERT INTO mydb.mytablenew SELECT * FROM mydb.mytable;ALTER TABLE mydb.mytable RENAME mydb.mytablezap;ALTER TABLE mydb.mytablenew RENAME mydb.mytable;DROP TABLE mydb.mytablezap;
innodb_log_file_size = 64M
默认值50331648,即48M