福建漳州东山建设局网站,网站十大品牌,卫浴品牌排行榜前十名,12306网站是谁做的一.概述mysql 提供了很多参数来进行服务器的设置#xff0c;当服务第一次启动的时候#xff0c;所有启动参数值都是系统默认的。这些参数在很多生产环境下并不能满足实际的应用需求。在这个系列中涉及到了linux 服务器#xff0c;我这里是centos7.4, mysql 5.7,Xshell6。1. …一.概述mysql 提供了很多参数来进行服务器的设置当服务第一次启动的时候所有启动参数值都是系统默认的。这些参数在很多生产环境下并不能满足实际的应用需求。在这个系列中涉及到了linux 服务器我这里是centos7.4, mysql 5.7,Xshell6。1. 查看mysql server参数通过show variables和show status命令查看mysql的服务器静态参数值和动态运行状态信息。前者是在数据库启动后不会动态更改的值。比如缓冲区大小字符集数据文件名称等 后者是数据库运行期间的动态变化的信息比如锁等待当前连接数等。下面来简单查看下两个命令--mysql服务静态参数值SHOW VARIABLES;--mysql服务运行状态值SHOW STATUS;二. 影响mysql性能的重要参数在上面介绍了mysql server 端的参数查看方法 对于这么多参数 实际大多数参数是不需要用户调整的下面介绍一些重要参数。先介绍下MyISAM存储引擎的key_buffer_size和table_cache。1. key_buffer_size设置key_buffer_size是用来设置索引块(index Blocks)缓存的大小它被所有线程共享此参数只应于MYISAM存储引擎。在mysql 5.1后系统除了默认的索引块缓存还可以配置多个key_buffer可以将指定的表索引缓存入指定的key_buffer,这样可以更小地降低线程之间的竞争。--查看默认设置SHOW VARIABLES LIKE key_buffer_size;8388608/1024.0/1024.0M 默认8M 如下图所示--建立一个新的索引块缓存SET GLOBAL hot_cache2.key_buffer_size128*1024对于GLOBAL 表示对每一个新的连接此参数都将生效hot_cache2是新的key_buffer名称可以随时进行重建例如SET GLOBAL hot_cache2.key_buffer_size200*1024把相关表的索引放到指定的索引块缓存中如下--将表(userbymyisam )索引放入指定的索引块中CACHE INDEX userbymyisam IN hot_cache2想将索引预装到默认的key_buffer中可以使用load index into cache语句例如预装表userbymyisam的所有索引 预装到默认的key_buffer。LOAD INDEX INTO CACHE userbymyisam--删除索引缓存如下命令SET GLOBAL hot_cache2.key_buffer_size0注意:默认的key_buffer是不能删除的如 SET GLOBAL key_buffer_size0 下次重启时还会有。总结 cache index命令在一个表和key_buffer之间建立一种联系但每次服务器重启时key_buffer中的数据将清空如果想每次服务器重启时相应表的索引能自动放到key_buffer中可以在配置文件中设置init-file选项来指定包含cache index语句文件路径然后在对应的文件中写入cache index语句。下面创建二个缓存索引块每次服务器启动时执行mysqld_init.sql中的语句 文件中几个表分别对应hot_cache和cold_cache2. 通过操作系统来设置key_buffer如果要设置mysql服务系统参数可以在linux里设置先要找到my.cnf 文件位置一般会放在/etc/my.cnf/etc/mysql/my.cnf。如下图所示尝试修改默认key_buffer_size改为12M停止服务再重启sql服务再次查询如下