我用的 linux操作系统,4G内存,mysql4.1.7 配置文件如下:
[mysqld]
port = 3306
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
#######################
## added begin
#######################
skip-locking
key_buffer = 512M
max_allowed_packet = 10M
table_cache = 2048
sort_buffer_size = 64M
read_buffer_size = 32M
read_rnd_buffer_size = 512M
myisam_sort_buffer_size = 512M
thread_cache_size = 1024
query_cache_size = 512M
max_connections = 2000
wait_timeout = 120
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4运行 3个小时后,得到的参数如下:请高手看看我的 mysql配置还有问题啊,多谢。up有分
interactive_timeout 28800
join_buffer_size 131072
key_buffer_size 1073741824
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
max_allowed_packet 10484736
max_binlog_cache_size 4294967295
max_binlog_size 1073741824
max_connect_errors 10
max_connections 2000
max_delayed_threads 20
max_error_count 64
max_heap_table_size 16777216
max_insert_delayed_threads 20
max_join_size 4294967295
max_length_for_sort_data 1024
max_relay_log_size 0
max_seeks_for_key 4294967295
max_sort_length 1024
max_tmp_tables 32
max_user_connections 0
max_write_lock_count 4294967295
myisam_data_pointer_size 4
myisam_max_extra_sort_file_size 2147483648
myisam_max_sort_file_size 2147483647
myisam_recover_options OFF
myisam_repair_threads 1
myisam_sort_buffer_size 536870912
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_min_res_unit 4096
query_cache_size 536870912
query_cache_type ON
query_cache_wlock_invalidate OFF
query_prealloc_size 8192
range_alloc_block_size 2048
read_buffer_size 33550336
read_only OFF
read_rnd_buffer_size 536866816
port_buffer_size 67108856
table_cache 2048
table_type MyISAM
thread_cache_size 1024
thread_stack 196608
tmp_table_size 33554432
wait_timeout 120
Aborted_clients 680
Aborted_connects 10
Binlog_cache_disk_use 0
Binlog_cache_use 0
Bytes_received 5887728
Bytes_sent 41726827
Connections 2048
Created_tmp_disk_tables 222
Created_tmp_files 3
Created_tmp_tables 4239
Handler_commit 0
Handler_delete 0
Handler_discover 0
Handler_read_first 531
Handler_read_key 50004376
Handler_read_next 52505061
Handler_read_prev 0
Handler_read_rnd 26899
Handler_read_rnd_next 87399181
Handler_rollback 0
Handler_update 135201
Handler_write 15388820
Key_blocks_not_flushed 3
Key_blocks_unused 845699
Key_blocks_used 109839
Key_read_requests 223892063
Key_reads 225850
Key_write_requests 7672214
Key_writes 102
Max_used_connections 208
Not_flushed_delayed_rows 0
Open_files 643
Open_streams 0
Open_tables 578
Opened_tables 589
Qcache_free_blocks 778
Qcache_free_memory 533071176
Qcache_hits 7944
Qcache_inserts 9441
Qcache_lowmem_prunes 0
Qcache_not_cached 4534
Qcache_queries_in_cache 3272
Qcache_total_blocks 7370
Questions 87150
Rpl_status NULL
Select_full_join 17
Select_full_range_join 0
Select_range 387
Select_range_check 0
Select_scan 4753
Slave_open_temp_tables 0
Slave_running OFF
Slow_launch_threads 0
Slow_queries 120
Sort_merge_passes 0
Sort_range 861
Sort_rows 44303
Sort_scan 5811
Table_locks_immediate 21583
Table_locks_waited 3529
Threads_cached 182
Threads_connected 26
Threads_created 208
Threads_running 4
Uptime 2086

解决方案 »

  1.   

    运行一段时间后查询就慢了,重启一下mysql 速度就可以了。主要是 三张表慢, info,area,jobtype 这三张表联合查询,每张表 82万数据。
      

  2.   

    始终觉得MYSQL 不适合做大型数据库 
    还是SQL 稳定一些 效率高一些
      

  3.   


    mysql的定位就不是大型数据库嘛
      

  4.   

    一大串东西,没看出配置文件有什么问题
    1、考虑优化一下你的查询
    2、考虑视图
    3、推荐一下,mysql5.1以及以上版本支持水平分区和垂直分区,这对海量数据的查询效率的改进效果不错
      

  5.   

    网络应用的查询或者更新结束之后要关闭数据库连接。
    mysql_close($connect)