首頁 資料庫 mysql教程 mysql优化配置参数

mysql优化配置参数

Jun 07, 2016 pm 06:03 PM
最佳化配置

mysql安装好需要优化配置一下,打开c:\windows\my.ini文件

第一种
代码如下:
#This File was made using the WinMySQLAdmin 1.4 Tool
#2004-2-23 16:28:14
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=D:/mysql
#bind-address=210.5.*.*
datadir=D:/mysql/data
#language=D:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
set-variable = max_connections=1500
skip-locking
#skip-networking
set-variable = key_buffer=384M
set-variable = max_allowed_packet=1M
set-variable = table_cache=512
set-variable = sort_buffer=2M
set-variable = record_buffer=2M
set-variable = thread_cache=8
# Try number of CPU's*2 for thread_concurrency
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
#set-variable = connect_timeout=5
#set-variable = wait_timeout=5
server-id = 1
[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[WinMySQLadmin]
Server=D:/mysql/bin/mysqld-nt.exe

这个方案,整体够用了,但是在pconnect和最大连接数上,需要研究max_connections没必要那么大,我个人认为几百就够,否则给服务器加大了不少负担,经常会当机连接超时的设置也要根据实际情况调整,大家可以自由调整,然后观察效果如何。
第二种
  7、MYSQL 的优化(/etc/my.cnf)
1)确认在“[mysqld]”部分加入了“skip-innodb”和“skip-bdb”参数;
2)确认在“[mysqld]”部分加入了“skip-name-resolve”和“skip-locking”参数;
3)如果不需要的话,可以将二进制日志(binlog)停掉,方法是将“log-bin”注释掉;
4)在内存允许的情况下,对一些参数进行重新配置,目标在于将大部分操作集中于内存中,尽量不进行磁盘操作,对于我的 MYSQL 服务器我是如下修改的,基于 2G 内存情况:
代码如下:
[mysqld]
set-variable = key_buffer=512M
set-variable = max_allowed_packet=4M
set-variable = table_cache=1024
set-variable = thread_cache=64
set-variable = join_buffer_size=32M
set-variable = sort_buffer=32M
set-variable = record_buffer=32M
set-variable = max_connections=512
set-variable = wait_timeout=120
set-variable = interactive_timeout=120
set-variable = max_connect_errors=30000
set-variable = long_query_time=1
set-variable = max_heap_table_size=256M
set-variable = tmp_table_size=128M
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=128M

你可以根据“show status”命令返回的状态进行微调。我主要注意以下变量的数值,越小越好,最好为零:)
Created_tmp_disk_tables
Created_tmp_tables
Created_tmp_files
Slow_queries
另外 mysql wait_timeout 那个值设置大了没用 做10左右就可了 (大C说得)
wait_timeout是使用长久连线时 空闲进程的控制只要数据库在连接状态 他是不进行干预的 不管是否有查询或更新操作把这个设置小一点 再使用pconnect就比较理想了 ;)
timeout的時間﹐我的經驗值是5-20﹐看你的SERVER的訪問量了~~ (梦飞说的)
访问量越大 这个值就应该越小否则留出的空闲进程太多 会占用不必要的内存
在一个15分钟在线3000人的论坛上 设置为3比较合适同时打开pconnect
第三种
数据库连接过多的错误,可能的原因分析及解决办法
分析
系统不能连接数据库,关键要看两个数据:
1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。
2、数据库当前的连接线程数threads_connected。这是动态变化的。
查看max_connections、max_connections的办法见后。
如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。
因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。
但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。
这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,但强坛系统估计不会发生这种低级的编程错误。
该错误的简便的检查办法是,在刷新强坛页面时,不断监视threads_connected的变化。如果max_connections足够大,而threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术,threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。
从强坛出错的情况看,更大的可能性是数据库系统没能进行适当地配置。下面提出一点建议。供参考
让你们的工程师把MySQL的最大允许连接数从默认的100调成32000。这就不会老出现连接过多的问题了。

查看max_connections
进入MySQL,用命令:show variables
查看数据库最大可连接数的变量值:max_connections

查看threads_connected
进入MySQL,用命令:show status
查看当前活动的连接线程变量值:threads_connected

设置max_connections
设置办法是在my.cnf文件中,添加下面的最后红色的一行:
--------------------------------------------------------------------------------
代码如下:
[mysqld]
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=16K
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = table_cache=4
set-variable = sort_buffer=64K
set-variable = net_buffer_length=2K
set-variable = max_connections=32000

--------------------------------------------------------------------------------
修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。
注意:
1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384;
2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;
3、添加了最大允许连接数,对系统消耗增加不大。
4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。
可见,mysql的优化,是多样化,且根据环境不同,必须灵活调整的,大家不可生搬硬套,自己慢慢体会吧
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1242
24
華碩重砲手bios設定最佳性能? 華碩重砲手bios設定最佳性能? Feb 15, 2024 pm 03:30 PM

華碩重砲手bios設定最佳性能?出廠設定為最佳性能。具體方法是:1、開機的同時按F2進入BIOS。 2、在Boot選單中,置secure為disabled。 3、BootListOption置為UEFI。 4.在1stBootPriority中HDD(硬碟)為第一啟動項。 5.Exit選單中選擇Savechangesandreset或按F10儲存退出。華碩x670ehero主機板bios最佳設定?要獲得最佳的華碩x670ehero主機板bios設置,需要根據自己的硬體配置和使用需求進行調整。首先,設定正確

佳能推出4K廣播級手提鏡頭CJ27e×7.3B IASE T 佳能推出4K廣播級手提鏡頭CJ27e×7.3B IASE T Apr 10, 2024 pm 01:22 PM

4月10日,佳能(中國)有限公司推出配備新開發數位驅動單元「e-XsV」的4K廣播級便攜式變焦鏡頭CJ27e×7.3BIASET,適用於2/3吋4K廣播級攝影機。鏡頭具備出色的光學性能,可實現大廣角和高變焦倍率,在繼承了人體工學設計帶來的出色操作手感的同時,提高了易用性和功能性。該鏡頭的推出,進一步拓寬了拍攝應用場景,滿足用戶多樣化的拍攝需求,使用場景不僅包括直播和新聞報道,還包括演播室的節目錄製以及需要用到特殊拍攝設備的遠程視頻製作。數位驅動單元「e-XsV」CJ27e×7.3B兼顧7.

使用寶塔面板進行Java虛擬機器的最佳化配置 使用寶塔面板進行Java虛擬機器的最佳化配置 Jun 21, 2023 pm 02:52 PM

隨著互聯網的不斷發展,越來越多的應用與業務都需要使用到Java語言開發的程式。而對於Java程式的運行,Java虛擬機器(JVM)的效能就顯得非常重要。因此,進行最佳化配置是提高Java應用程式效能的重要手段。寶塔面板是常用的伺服器控制面板,可以幫助使用者更方便地進行伺服器管理。本文將介紹如何使用寶塔面板對Java虛擬機器進行最佳化配置。第一步:安裝Java虛擬機

php CodeIgniter效能優化秘技:讓你的網站飛起來 php CodeIgniter效能優化秘技:讓你的網站飛起來 Feb 20, 2024 am 10:00 AM

使用缓存:利用缓存机制可以显著提升网站性能。你可以使用CodeIgniter内置的缓存类或第三方缓存库,如Memcached或Redis,来实现缓存功能。优化查询:确保你的sql查询是高效的,并善用索引。这将帮助你的数据库快速返回结果,从而加快页面加载速度。使用较少的PHP对象:创建PHP对象需要一定的开销,如果你不需要的话,尽量避免创建过多对象。这将有助于减少内存消耗,提高脚本运行速度。使用更少的函数调用:过多的函数调用会增加脚本的执行时间。如果你可以将多个函数调用合并为一个,那么这样做会提高

PHP 信箱開發:最佳化郵件伺服器的設定與管理 PHP 信箱開發:最佳化郵件伺服器的設定與管理 Sep 12, 2023 am 09:30 AM

PHP郵箱開發:最佳化郵件伺服器的設定與管理在現代社會中,電子郵件已經成為了人們日常生活和工作中不可或缺的一部分。對於PHP開發者來說,提供使用者完善的郵箱功能是一項重要的任務。而要實現一個高效穩定的郵箱系統,優化郵件伺服器的設定與管理是至關重要的環節。一、運行環境選擇在開始設定和管理郵件伺服器之前,我們首先要選擇合適的運行環境。常見的郵件伺服器包括S

提升Python編程效率:電腦配置優化方法 提升Python編程效率:電腦配置優化方法 Mar 25, 2024 pm 06:54 PM

提升Python程式設計效率:電腦配置最佳化方法在現代的程式設計工作中,Python已經成為了一種非常流行的程式語言。不僅因為其簡潔易學的語法,還因為其強大的生態系統和豐富的第三方函式庫支援。然而,即使是使用Python這樣高效的工具,我們也可以透過優化電腦配置來進一步提升程式效率。本文將介紹一些提升Python程式設計效率的電腦配置最佳化方法,並提供具體的程式碼範例。一、硬體配

HDFS在CentOS上如何優化配置 HDFS在CentOS上如何優化配置 Apr 14, 2025 pm 07:09 PM

CentOS平台HDFS集群性能優化指南本文將闡述如何在CentOS系統上優化HDFS配置,提升集群性能。優化過程涵蓋多個方面,需要根據實際需求和硬件環境進行調整。建議在生產環境實施任何重大更改前,先在測試環境中驗證其有效性。一、系統基礎配置精簡安裝:採用最小化安裝方式,僅安裝必要的軟件包,減少系統資源消耗。網絡設置:確保網絡配置正確無誤,建議使用靜態IP地址並合理配置網絡參數,保證網絡穩定性和高速傳輸。二、HDFS核心參數調優核心配置文件:正確配置core-site.xml

提升效能與穩定性:優化springboot與kafka的技巧 提升效能與穩定性:優化springboot與kafka的技巧 Jan 31, 2024 pm 03:38 PM

優化SpringBoot與Kafka的效能和穩定性簡介SpringBoot和Kafka是兩個非常流行的開源框架,可以幫助開發人員快速建置和部署分散式系統。 SpringBoot提供了簡化Spring應用開發的工具,而Kafka則是一個分散式訊息系統,可以可靠地儲存和處理大量資料。透過優化SpringBoot和Kafka的性能和穩

See all articles