问一个mysql的my.ini的设置问题,不复制文章的高手进!

mysql778899 2008-05-20 01:14:51
公司的服务器是1G的内存,CPU是 intel(R) Xeon(TM) CPU3.20GH ,上面放着两三个PHP站,数据库用的MYSQL,但是都不会配置,以前没有什么问题,后来网站有点儿访问量后就越来越卡了,有时打开页面,吃完饭回来,还没打开。
肯求高手能帮我配置一下my.ini
(是不是这个文件的配置有问题才使网站打开很慢,我都不知道...)

真的肯求高手赐教,最好别复制网上的一堆文章来应付我这个菜鸟,网上搜了半天,全是转来转去的几篇同样的文章,看晕了。

如果能解决问题,我赠送1G的全能空间!我的MSN是cngcjc01@hotmail.com

下面是我的my.ini的内容
port=3306
default-character-set=latin1
port=3306
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=120
query_cache_size=32M
table_cache=256
tmp_table_size=9M
thread_cache_size=32
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=64M
key_buffer_size=128M
read_buffer_size=1M
read_rnd_buffer_size=512K
sort_buffer_size=1M
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=18M
innodb_log_file_size=10M
innodb_thread_concurrency=8


...全文
846 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaos139 2008-05-29
[Quote=引用 3 楼 apache6 的回复:]
针对你的服务器的my.ini配置建议:

port=3306
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=120
query_cache_size=32M

#缓存数据表数量,设置这个参数可以参见系统状态中的 open_tables(表示当前打开的数据表总数) 和 opened_tables(表示所有打开的数据表总数)
table_cache=256

#临时表的…
[/Quote]
高手啊
楼主最好还是了解些mysql的基本知识,业务应用的特性,估计楼主的DB是InnoDB的引擎,如果基本应用都在InnoDB的引擎的表。
max_connections=300 --web应用这个有点少,改成300
innodb_additional_mem_pool_size=8M --大点好 2M有点少
innodb_flush_log_at_trx_commit=2 --每秒一次,把事务的log刷到log file
innodb_log_buffer_size=4M --默认值太低
innodb_buffer_pool_size=300M --这个是内存中放data page的大小,如果不会抢掉应用程序的内存,就多给点。
你公司的服务器跑这么多应用,最好加到4G内存。
回复
apache6 2008-05-28
针对你的服务器的my.ini配置建议:

port=3306
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=120
query_cache_size=32M

#缓存数据表数量,设置这个参数可以参见系统状态中的 open_tables(表示当前打开的数据表总数) 和 opened_tables(表示所有打开的数据表总数)
table_cache=256

#临时表的大小
tmp_table_size=12M

#缓存可重用的线程数
thread_cache_size = 64

myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=64M

#这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载 -- #记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。
key_buffer_size=128M

read_buffer_size=1M
read_rnd_buffer_size=512K
sort_buffer_size=1M

#这对innodb表来说非常重要
innodb_buffer_pool_size = 256M

#这取决于你需要的回复速度.128M这个数值是适当的恢复时间和良好性能之间的一个好的平衡.
innodb_log_file_size = 128M

#大多数情况4M足够,除非正将很大的blob数据导入到Innodb中可以增加一点.
innodb_log_buffer_size=4M

#这个值取决于你的程序,可能高或者低.8是代表起始值.
innodb_thread_concurrency=8

innodb_additional_mem_pool_size=100M

#如果你不是很关心ACID,可以容许在系统完全crash的情况下丢失最后一两秒的事务,那么可以设置这个值.它可以极大的提高"短"的写事务的效率.
innodb_flush_log_at_trx_commit=2


注意:
很多情况需要具体情况具体分析
1>如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持Key_reads/Key_read_requests至少1/100以上,越小越好。
2>如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值。
回复
懒得去死 2008-05-20
简直就乱了!!!

myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G

这两个100G?

你的表数据有多少?
回复
mysql778899 2008-05-20
楼上的大哥,你说的什么表数据我什么也不懂啊,我只知道网站里有会员四万,文章几万,能不能帮我改改现在的my.ini,
回复
发帖
MySQL
创建于2007-09-28

5.5w+

社区成员

MySQL相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-05-20 01:14
社区公告
暂无公告