• 文章中心
  • u盘装win7系统教程,mysql优化服务器参数设置

    作者:侠客 -------------- 文章来源:u盘装系统 发布时间:2013-11-19 20:38点击:

    电脑店u盘装系统教程

    mysql服务器为我们提供了丰富啲参数,以调整服务器满足不同环境啲要求。下面分别讨论一下这些参数:

    服务器参数变量啲设置。mysql服务器参数可在服务器启动时设置,在mysql4.0.3及以后啲版本中,有些参数也允许在线设置。在mysql4.0.2及以后de版本里,可以把一个变量名视为一个选项名来设置。如数据表缓冲区de尺寸由服务器参数talbe_cache来设置。如果需把它设置为128,则可以在命令行里增加

    --table_cache=128

    也可在选项文件中设置:

    [mysqld]

    table_cache=128

    在命令行选项中'_'可写'-',变成:

    --table-cache=128#这种写法更像一个标准选项

    还有一种是使用--set-variable或-o选项,如:

    --set-variable=table_cache=128

    or

    -o table_cache=128

    在选项文件中可写成:

    [mysqld]

    set-variable=table_cache=128

    服务器参数分为全局级和会话级两个级别。全局级参数将影响整个服务器,会话级参数则只影响某给定客户连接上de工作。如果某个变量同时存在于两个级别,则服务器在客户建立连接时用全局变量de值去初始化相应啲会话级参数,一旦客户连接建立起来后,对全局参数所作啲修改不会影响到相应啲会话级参数当前值。设置全局参数和会话级参数的语句:

    全局级:

    mysql> set global variable = value;

    mysql> set @@global.variable = value;

    会话级:

    mysql> set session variable = value;

    mysql> set @@session.variable = value;

    默认不带级别限定符的set语句修改的参数属会话级,如:

    mysql> set variable = value;计算机基础知识

    mysql> set @@variable = value;u盘装系统步骤

    可用一条set语句设置多个参数,参数间用逗号分隔,如:

    set session variable = value1,value2,value3;

    session和local是同义语,可用local代替session,如:@@local

    具备super权限才能设置全局参数,新设置值的效力将持续到该参数被再次修改或服务器退出。设置会话级参数不用特殊的权限,新设置值的效力将持续到该值被再次修改或连接断开。显示参数的语句如下:

    show global variables;

    show global variables like 'test';

    show session variables;

    show session variables like 'test';

    如不带限定符,则返回会话级参数,如会话级参数不存在则返回全局级参数。

    也可用命令行方式显示服务器参数变量,如:

    % mysqladmin variables

    下面介绍一些mysql服务器通用的参数变量:

    back_log,当多个客户同时连接服务器时,客户处理过程需进入一个队列排队等待服务器处理。该值定义服务器等待处理队列长度的最大值,如果站点访问量大,需加大该值。电脑基础

    delayed_queue_size,在实际插入数据表前,来自insert delayed语句的数据行会进入一个队列等待服务器处理。该值定义该队列能容纳的数据行的最大个数。当队列满时,会阻塞后续的语句。加大该值能提高insert delayed语句的执行速度。

    flush_time,自动存盘间隔。如果系统经常死机或重启,把这个变量设置为一个适当的非零值,使mysql服务器每隔flush_time称去刷新一次数据表缓冲区,将其中的信息写入磁盘。这将导致系统性能下降,但可减少数据表被破坏或丢失数据的概率。在命令行上用--flush选项启动服务器可使数据表在每次修改后被自动存盘。

    key_bufu盘装win7系统教程fer_size,用来容纳索引块的缓冲区的长度。加大该值可加快索引创建和修改操作的速度,该索引缓冲区越大,在内存中找到键值的可能性就越大,读盘次数就越少。mysql3.23前的版本里,该参数叫key_buffer。3.23版本之后,两种叫法都可以。

    max_allowed_packet,服务器与客户程序之间通信时使用的缓冲区在最大值。mysql 4版本之前,该最大值可取16mb,mysql 4版本以后,该值的最大值是1gb。如果客户端与服务器需传送大容量的数据,如blob或text值,就要加大该值。客户端也有一个同名的变量,默认是16mb,该值也要加大。客户端的启动命令为:

    % mysql --set-variable=max_allowed_packet=64m

    max_connections,允许同时打开的连接数,如果站点繁忙,需加大该值。

    table_cache,数据表缓存区的尺寸。加大该值可使服务器能够同时打开更多的数据表,从而减少文件打开/关闭操作的次数。

    注意:加大max_connections和table_cache参数的值,会使服务器占用更多的文件描述符。运行多个服务器可绕过该限制。对一些分配给每个客户的资源变量,设置时不能过大,因为当连接数快速增长时会很快耗尽服务器的资源,造成服务器性能下降。计算机

    innodb处理程序变量:

    innodb_buffer_pool_size,innodb数据库缓冲池的大小,如果有足够的内存,可把该值设置得大些以减少读盘操作。

    innodb_log_file_size和innodb_log_files_in_group,前者设置日志文件的长度,后者设置日志文件的个数。innodb日志文件的总长度是两者的乘积,它的总长度不得超过4gb。

    u盘装系统具体步骤 本文由www.upzxt.com整理!