mysql配置m_Mysql优化配置 - Mbeck的个人空间 - OSCHINA - 中文开源技术交流社区

在mysql 中输入如下命令,可自动计算自己的当前配置最大的内存消耗

语句:

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

SHOW VARIABLES LIKE 'innodb_additional_mem_pool_size';

SHOW VARIABLES LIKE 'innodb_log_buffer_size';

SHOW VARIABLES LIKE 'thread_stack';

SET @kilo_bytes = 1024;

SET @mega_bytes = @kilo_bytes * 1024;

SET @giga_bytes = @mega_bytes * 1024;

SET @innodb_buffer_pool_size = 2 * @giga_bytes;

SET @innodb_additional_mem_pool_size = 16 * @mega_bytes;

SET @innodb_log_buffer_size = 8 * @mega_bytes;

SET @thread_stack = 192 * @kilo_bytes;

SELECT

( @@key_buffer_size + @@query_cache_size + @@tmp_table_size

+ @innodb_buffer_pool_size + @innodb_additional_mem_pool_size

+ @innodb_log_buffer_size

+ @@max_connections * (

@@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size

+ @@join_buffer_size + @@binlog_cache_size + @thread_stack

) ) / @giga_bytes AS MAX_MEMORY_GB;

Linux环境下是my.cnf;但是windows环境下是my.ini

以下的配置是针对

针对my.cnf文件进行优化:

[mysqld]

skip-locking (取消文件系统的外部锁)

skip-name-resolve (不进行域名反解析,注意由此带来的权限/授权问题)

key_buffer_size = 256M (分配给MyISAM索引缓存的内存总数)对于内存在4GB左右的服务器该参数可设置为256M或384M。

注意:该参数值设置的过大反而会是服务器整体效率降低!

max_allowed_packet = 4M (允许最大的包大小)

thread_stack = 256K (每个线程的大小)

table_cache = 128K (缓存可重用的线程数)

back_log = 2000 (临时停止响应新请求前在短时间内可以堆起多少请求,如果你需要在短时间内允许大量连接,可以增加该数值)

sort_buffer_size = 2M (分配给每个线程中处理排序)

read_buffer_size = 2M (读取的索引缓冲区大小)

join_buffer_size = 2M (分配给每个线程中处理扫描表连接及索引的内存)

myisam_sort_buffer_size = 64M (myisam引擎排序缓冲区的大小)

table_cache = 512 (缓存数据表的数量,避免重复打开表的开销)

thread_cache_size = 64 (缓存可重用线程数,见笑创建新线程的开销)

query_cache_size = 64M (控制分配给查询缓存的内存总量)

tmp_table_size = 256M (指定mysql缓存的内存大小)

max_connections = 768 (最大连接数)指mysql整个的最大连接数

max_connect_errors = 10000 (最大连接错误数据)

wait_timeout = 10 (超时时间,可以避免攻击)

thread_concurrency = 8 (根据cpu数量来设置)

skip-bdb 禁用不必要的引擎

skip-networking (关闭mysql tcp/ip连接方式)

Log-slow-queries = /var/log/mysqlslowqueries.log

long_query_time = 4 (设定慢查询的时间)

skip-host-cache (提高mysql速度的)

open_files_limit = 4096 (打开文件数)

interactive_timeout = 10 (服务器在关闭它前在一个交互连接上等待行动的秒数)

max_user_connections = 500 (最大用户连接数)

key_buffer_size                   默认为218       调到128最佳

query_cache_size

tmp_table_size                   默认为16M        调到64-256最挂

innodb_thread_concurrency=8        你的服务器CPU有几个就设置为几,默认为8

table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳

innodb_additional_mem_pool_size=8M 默认为2M

innodb_flush_log_at_trx_commit=0 等到innodb_log_buffer_size列队满后再统一储存,默认为1

innodb_log_buffer_size=8M           默认为1M,默认写日志缓存大小,用来设置缓存大小

read_buffer_size=4M                   默认为64K

read_rnd_buffer_size    随机读 缓存区  默认为256K

sort_buffer_size=32M                     默认为256K

max_connections=1024                  默认为1210

thread_cache_size=120              默认为60

innodb_buffer_pool_size=360M 参数表示缓冲池字节大小,InnoDB缓存表和索引数据的内存区域。mysql默认的值是128M;建议值360M

innodb_log_file_size = 512M 写入日志文件的大小,官网文档设置为512M,类似于Oracle中redlog的作用,如果配置太小了将频繁写入影响性能

innodb_log_files_in_group = 2 指定你有几个日志组

performance_schema_max_table_instances=600 //检测的表对象的最大数目

table_definition_cache=400 //缓存在frm文件中文件数量

//可以存储在缓存中的定义的表数量。如果您使用大量的表,您可以创建一个大的表定义缓存,以加快表的打开。

//表定义缓存占用较少的空间,不使用文件描述符,不像正常表缓存。最小值和默认值都是400。

table_open_cache=256 //所有线程的开放表的数目。增加这个值增加,mysqld需要文件描述符的数量

//缓存数据文件的描述符相关信息

开启mysql慢查询的查询日志:

查询日志相关内容:

show variables like '%quer%';

参数设置:

windows下是mysql.ini文件,Linux下是mysql.cnf文件

slow_query_log=ON         //将日志打开

slow_query_log_file="C:/ProgramData/MySQL/MySQL Server 5.6/data/mysql_slow.log"

//慢SQL语句保存的日志文件

long_query_time=3         //慢SQL定义的时间

开启日志记录文件:

set global slow_query_log='ON'              //很重要,需要数据库管理员用户权限进行执行

对以上配置进行更改后都需要重启mysql服务才能有效

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值