liang3391 发表于 2009-8-18 15:31:02

mysql资源参数限制优化

Msyql参数调优
针对my.cnf文件进行优化:

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 = 384(临时停止响应新请求前在短时间内可以堆起多少请求,如果你需要在短时间内允许大量连接,可以增加该数值)
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(最大用户连接数)

Mysql内存使用公式:实际物理内存计算公式key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections

MAX_QUERIES_PER_HOUR 用来限制用户每小时运行的查询数量:
mysql> grant all on dbname。* to db@localhost identified by “123456” with max_connections_per_hour 5;
(db用户在dbname的数据库上限制用户每小时打开新连接的数量为5个)


MAX_USER_CONNECTIONS 限制有多少用户连接MYSQL服务器:
mysql> grant all on dbname。* to db@localhost identified by “123456” with max_user_connections 2;
(db用户在dbname的数据库账户一次可以同时连接的最大连接数为2个)

MAX_UPDATES_PER_HOUR 用来限制用户每小时的修改数据库数据的数量:
mysql> grant all on dbname。* to db@localhost identified by “123456” with max_updates_per_hour 5;
(db用户在dbname的数据库上限制用户每小时修改更新数据库的次数为5次)
MAX_USER_CONNECTIONS 用来限制用户每小时的修改数据库数据的数量:
mysql> grant all on dbname。* to db@localhost identified by “123456”
WithMAX_QUERIES_PER_HOUR 20 ;指mysql单个用户的最大连接数
(db用户在dbname的数据库上限制用户每小时的连接数为20个)



不足的望斑竹帮补充,我想对mysql的资源进行限制,不让客户占用大的资源。这些参数我收集了,可能还不完整。

cpuer 发表于 2009-8-18 15:32:26

搞虚拟主机呀,难道要限制Mysql连接数?

liang3391 发表于 2009-8-18 15:33:07

是的呀。觉得限制资源的参数还是不够。

cpuer 发表于 2009-8-18 16:34:11

对客户的限制最好是限制平均CPU占用。

python 发表于 2009-9-11 11:04:08

一般用mysql预置的几个方案选个合适的吧,自己修改的话容易造成参数之间不匹配

cpuer 发表于 2009-9-11 12:39:17

defaultrecommended 的,用哪个好?

python 发表于 2009-9-11 13:05:17

原帖由 cpuer 于 2009-9-11 12:39 发表
https://www.hostloc.com/images/common/back.gif

defaultrecommended 的,用哪个好?
一般应用my-medium.cnf就足够了,独立主机如果内存较大可以用my-large.cnf,内存超过8G的可以用my-huge.cnf

cpuer 发表于 2009-9-11 13:39:13

呵呵,那就一般用my-medium.cnf了。
页: [1]
查看完整版本: mysql资源参数限制优化