设为首页
收藏本站
淘宝精选
开启辅助访问
登录
注册后绑定Q登陆
手机号登录
手机号码,快捷登录
微信登录
QQ登录
快捷导航
发布信息
搜索
搜索
支持我们
使用96IE来支持论坛
首页
任务
勋章
签到
签到等于每天打卡
导读
邀请码
装机必备的软件、去广告版
装机助手
装机网
精品操作系统下载
免费邀请码
记录
Doing
每日签到
本版
帖子
用户
PCOS技术网
»
首页
›
≡技术交流≡
›
电脑技术交流
›
mysql安装好需要优化配置一下
返回列表
发新帖
查看:
532
|
回复:
0
mysql安装好需要优化配置一下
[复制链接]
amwdnuff
amwdnuff
当前离线
积分
10395260
IP卡
狗仔卡
签到天数: 2624 天
连续签到: 3 天
[LV.Master]至尊海神IIIIII
发表于 2010-9-9 15:57
|
广东
|
显示全部楼层
|
阅读模式
mysql安装好需要优化配置一下,打开c:\windows\my.ini文件
第一种
QUOTE:
#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 instructi**
[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_connecti**=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_connecti**没必要那么大,我个人认为几百就够,否则给服务器加大了不少负担,经常会当机连接超时的设置也要根据实际情况调整,大家可以自由调整,然后观察效果如何。
第二种
QUOTE:
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_connecti**=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
第三种
数据库连接过多的错误,可能的原因分析及解决办法
QUOTE:
分析
系统
不能连接数据库,关键要看两个数据:
1、数据库系统允许的最大可连接数max_connecti**。这个参数是可以设置的。如果不设置,默认是100。最大是16384。
2、数据库当前的连接线程数threads_connected。这是动态变化的。
查看max_connecti**、max_connecti**的办法见后。
如果 threads_connected == max_connecti** 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。
因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。
但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。
这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,但强坛系统估计不会发生这种低级的编程错误。
该错误的简便的检查办法是,在刷新强坛页面时,不断监视threads_connected的变化。如果max_connecti**足够大,而threads_connected值不断增加以至达到max_connecti**,那么,就应该检查程序了。当然,如果采用数据库连接池技术,threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。
从强坛出错的情况看,更大的可能性是数据库系统没能进行适当地配置。下面提出一点建议。供参考
让你们的工程师把MySQL的最大允许连接数从默认的100调成32000。这就不会老出现连接过多的问题了。
查看max_connecti**
进入MySQL,用命令:show variables
查看数据库最大可连接数的变量值:max_connecti**
查看threads_connected
进入MySQL,用命令:show status
查看当前活动的连接线程变量值:threads_connected
设置max_connecti**
设置办法是在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_connecti**=32000
--------------------------------------------------------------------------------
修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connecti**。
注意:
1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384;
2、除max_connecti**外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;
3、添加了最大允许连接数,对系统消耗增加不大。
4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。
可见,mysql的优化,是多样化,且根据环境不同,必须灵活调整的,大家不可生搬硬套,自己慢慢体会吧
PCOS系统下载站:http://zhuangji.wang
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
抢沙发
千斤顶
显身卡
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册后绑定Q登陆
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页