1 查看mysqld 变量的值
mysqladmin -uroot -p123456 variables
或连接到数据库时使用
mysql>show variables
2查看mysql的状态
mysqladmin extended-status
或连接到数据库时使用
mysql>show status
以上两步以确定是否要修改table_cache,key_buffer_size
3 查看线程任务
mysqladmin processlist
4 查看查询语句的状态
select distinct arts.a_id,arts.headlinel,nartsect.se_id,arts.mdate,arts.set
以上两步以确定连接太多的问题,还有运行缓慢的查询语句,一些复杂的连接语句不可避免地会严重地影响了性能的最优化
5 delayed_queue_size 的值如果被设置成默认值1000,这意味着1000个超时的语句将排队等待之后,客启程序将不再被释放,也只能等待,例如insert delayed在你系统几乎在同一时刻产生了大量的插入语句,并且发现即使使用语句insert delayed,客户程序仍旧需要等待,你就应该增加delayed_queue_size的值
6 当连接请求达到back_log的限定值,任何更多的请求将被排进队列而不是被拒绝,就应该增加back_log值,如果请求数量是稳定的,系统忙,就该考虑系统的问题了
7 sort_buffer变量能够加快myisamchk的运算速度,如果你通常做许多排序运算(如经常在大表中使用order by语句),改用sort_buffer是很有帮助的,配置文件my_huge.cnf(1 g内存的系统)默认sort_buffer对myisamchk使用256M内存,但如果有很多同时(注意指的是同时)发生的连接在执行从句order by,由于每个连接都被分配了一个变量sort_buffer,会出现内存问题
8 为了让表innodb运行稳定,最重要的是变量innodb_data_file_path,它用来指定表(数据和索引)可获得的空间,
它给文件配大小,应该让最后一个数据文件自动扩展(也只有最后一个数据能这样做)以容纳额外的数据,例:
innodb_data_file_path=/disk1/ibdata1:500M;/disk2/ibdata2:50M:autoextend
当数据在disk1\ibdata1中达到500M的限定值时,此后的数据将被放入disk2\ibdata2中,一旦达到disk2\ibdata2中50M的限制ibdata2将自动以8M的程序块进行扩展,如果disk2的物理空间满,则需要增加disk3,为了让改变生效,需要重新启动服务器。
9 在mysql4。0。3版本之后,可以服务器动行的同时,改变变量值,但是,set语句在默认状态所做的变化只影响当前session,即当你下一次连接的时候,变量仍然使用配置文件指定的设置,如果指定global关键字,所有的新的连接将使用新的值,然而重启服务器时,仍然使用配置文件中指定的值,同时你需要有super权限
例:mysql> set session max_sort_length=2048;
    mysql> set max_sort_length=2048;
(这两句的结果是相同的)
    mysql> set @@local.max_sort_lenth=2048;(@@语法用来与其它数据库管理系统(DBMS)进行兼容)
   
如果你决定回去使用旧的值,可以使用default关键字恢复global为配置文件中的值,例:
mysql> set session max_sort_length=default;
mysql> set globle max_sort_length=default;