本文主要介绍my.ini的十个参数以优化mysql数据库的性能(推荐),需要的朋友可以参考以下
今天,它只需要配置mysql 5.5.45,因为数据库很大,因此必须对其进行优化,否则mysql确实不满意。
(1),最大连接数:
允许同时使用的客户数量。增大该值将增加mysqld所需的文件描述符数量。此数字应该增加,否则,您经常会看到太多的连接错误。默认值为100,我将其更改为1024。
(2),记录缓冲区:
每个执行顺序扫描的线程都会为其扫描的每个表分配此大小的缓冲区。如果进行多次顺序扫描,则可能需要增加此值。默认值为131072(128k),我将其更改为16773120(16m)
(3),key_buffer_size:
索引块被所有线程缓冲和共享。 key_buffer_size是用于索引块的缓冲区的大小。增加它可以获得尽可能多的索引(对于所有读取和多次重写),其处理得更好。如果将其设置得太大,系统将开始更改页面,并且实际上会变慢。默认值为8388600(8m),我的mysql主机具有2gb的内存,因此我将其更改为402649088(400mb)。
4),备用日志:
需要mysql可以拥有的连接数。当主mysql线程在短时间内收到很多连接请求时,此方法起作用,然后主线程需要一些时间(尽管很短)来检查连接并启动新线程。
back_log值指示在mysql暂时停止回答新请求之前不久可以在堆栈上存储多少个请求。仅当您希望在短时间内建立许多连接时,才需要增加它。换句话说,此值是传入tcp/ip连接的侦听队列的大小。您的操作系统对此队列大小有自己的限制。尝试将back_log设置为高于操作系统的限制将是无效的。
当您观察主机进程列表并找到大量264084时|未经身份验证的用户| xxx.xxx.xxx.xxx |空|连接|空|登录|默认值为50,我将其更改为500。
(5),interactive_timeout:
(秒)服务器在关闭交互式连接之前等待操作的秒数。使用带有mysql_real_connect()的client_interactive选项将交互式客户端定义为客户端。默认值为28800,我将其更改为7200。
(6),sort_buffer:
每个需要排序的线程都会分配一个该大小的缓冲区。增大此值可加快按操作或按操作分组的顺序。默认值为2097144(2m),我将其更改为16777208(16m)。
(7),table_cache:
所有线程的打开表数。增大该值可以增加mysqld所需的文件描述符数量。 mysql对于每个唯一打开的表都需要2个文件描述符。默认值为64,我将其更改为512。
(8),thread_cache_size:
保存的线程数可以重复使用。如果是这样,则从缓存中获取新线程。如果在断开连接时有空间,则将客户端的行放在缓存中。如果有许多新线程,则可以使用此变量值来提高性能。通过比较连接状态和threads_created状态中的变量,可以可以看到此变量的作用。我将其设置为80。
(9)mysql搜索功能
使用mysql进行搜索,目的是能够以中文和中文进行搜索,
在启动mysqld时只需指定–default-character-set = gb2312
(10),wait_timeout:
服务器在关闭连接之前等待连接操作的秒数。默认值为28800,我将其更改为7200。
2G内存,用于多站,耐压设置,最佳:
table_cache = 1024物理内存越大,设置越大。默认值为2402,最佳设置为512-1024
innodb_additional_mem_pool_size = 4M默认值为2M
innodb_flush_log_at_trx_commit = 1
(设置为0表示等待innodb_log_buffer_size队列已满,然后统一存储它们,默认值为1)。
innodb_log_buffer_size = 2M默认值为1M
innodb_thread_concurrency = 8将服务器上的CPU数量设置为几个,建议使用默认值8
key_buffer_size = 256M默认为218,并已调整为128最佳
tmp_table_size = 64M默认为16M,最多可调整为64-256
read_buffer_size = 4M,默认值为64K
read_rnd_buffer_size = 16M默认为256K
sort_buffer_size = 32M,默认值为256K
max_connections = 1024默认值为1210
thread_cache_size = 120默认为60
query_cache_size = 64M
正常:
table_cache = 512
innodb_additional_mem_pool_size = 8M
innodb_flush_log_at_trx_commit = 0
innodb_log_buffer_size = 4M
innodb_thread_concurrency = 8
key_buffer_size = 128M
tmp_table_size = 128M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
sort_buffer_size = 32M
max_connections = 1024