Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте !!
Народ вот решил оптимизировать базу mysql...
Система red hat 4... Intel(R) Xeon(TM) CPU 2.40GHz... 8GB оперативки...
Скачал скрипт - mysqltuner.pl...
И возникла такая непонятная мне проблема... После сканирования скриптом, получаю вот такой вывод...
-----------------------------------------------------------------------------------
>> MySQLTuner 1.0.1 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.51-log
[!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM
-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive +BDB -Federated +InnoDB -ISAM -NDBCluster
ERROR 1102 (42000) at line 1: Incorrect database name 'psa_7.5.4'
ERROR 1102 (42000) at line 1: Incorrect database name 'psa_7.5.4'
[!!] InnoDB is enabled but isn't being used
[!!] BDB is enabled but isn't being used
Argument "" isn't numeric in numeric gt (>) at ./mysqltuner.pl line 497 (#1)
(W numeric) The indicated string was fed as an argument to an operator
that expected a numeric value instead. If you're fortunate the message
will identify which operator was so unfortunate.
[OK] Total fragmented tables:
ERROR 1102 (42000) at line 1: Incorrect database name 'psa_7.5.4'
-------- Performance Metrics -------------------------------------------------
[--] Up for: 14h 52m 47s (4M q [85.369 qps], 140K conn, TX: 2B, RX: 569M)
[--] Reads / Writes: 59% / 41%
[--] Total buffers: 626.0M global + 40.5M per thread (160 max threads)
[!!] Allocating > 2GB RAM on 32-bit systems can cause system instability
[!!] Maximum possible memory usage: 6.9G (90% of installed RAM)
[OK] Slow queries: 0% (146/4M)
[OK] Highest usage of available connections: 17% (28/160)
Argument "" isn't numeric in numeric eq (= at ./mysqltuner.pl line 683 (#1)
[!!] None of your MyISAM tables are indexed - add indexes immediately
[OK] Query cache efficiency: 75.7% (2M cached / 3M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 1% (4K temp sorts / 312K sorts)
[!!] Joins performed without indexes: 3719
[OK] Temporary tables created on disk: 17% (17K on disk / 98K total)
[OK] Thread cache hit rate: 99% (28 created / 140K connections)
[OK] Table cache hit rate: 54% (7K open / 14K opened)
[OK] Open file limit used: 79% (13K/17K)
[OK] Table locks acquired immediately: 99% (1M immediate / 1M locks)
-------- Recommendations -----------------------------------------------------
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
Add skip-bdb to MySQL configuration to disable BDB
MySQL started within last 24 hours - recommendations may be inaccurate
Adjust your join queries to always utilize indexes
Variables to adjust:
join_buffer_size (> 32.0M, or always use indexes with joins)
Больше всего меня смутила вот эта запись !!
Argument "" isn't numeric in numeric eq (= at ./mysqltuner.pl line 683 (#1)
[!!] None of your MyISAM tables are indexed - add indexes immediately
Хм... мне не понятно - это ошибка в скрипте или просто мой mysql некорректно работает ?? Просто я просматривал большинство баз, и почти все таблички в базах проиндексированы... И я так понял что из-за этого скрипт постоянно рекомендует увеличивать join_buffer_size...
Подскажите плз где могут быть грабли ?
Вот мой конфиг my.cnf
[mysqld]
set-variable=local-infile=0
#set-variable=max_user_connections=300
#set-variable=max_connections=512
datadir=/home/mount/mysql/lib
socket=/var/lib/mysql/mysql.sock
#skip-innodb
#skip-bdb
low-priority-updates
open_files_limit=17000
query_cache_limit=15M
query_cache_size=400M
key_buffer_size=200M
thread_concurrency=8
max_connections=160
#max_used_connections=40
long_query_time=4
join_buffer_size=32M
thread_cache_size=44
table_cache=8000
record_buffer=8M
read_buffer_size=8M
sort_buffer=10
default_table_type=MYISAM
#myisam_sort_buffer_size=512М
log_slow_queries=/var/log/mysqlslow.log
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[isamchk]
key_buffer = 200M
sort_buffer_size = 200M
read_buffer = 8M
write_buffer = 8M
[myisamchk]
key_buffer = 200M
sort_buffer_size = 200M
read_buffer = 8M
write_buffer = 8M
[mysql.server]
user=mysql
basedir=/home/mount/mysql/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Неактивен
Грабли могут быть в скрипте, которым Вы тестируете
По крайней мере, я бы ему не доверял. Из того, что он сказал, я бы, пожалуй,
подтвердил то, что 64 бита использовать для MySQL лучше. Все остальное —
надо смотреть и думать. Если бы был универсальный скрипт, который настраивает
MySQL, то его бы включили в mainstream и убрали бы вообще возможность
настраивать что-то вручную
Неактивен
Хм сейчас записал последнюю версию срипта с офф сайта...Выводит туже ошибку !
Argument "" isn't numeric in numeric eq (=smile at ./mysqltuner.pl line 683 (#1)
[!!] None of your MyISAM tables are indexed - add indexes immediately
Надеюсь не из-за этой ошибки выходит вот такая картина !!
[!!] Joins performed without indexes: 11604
Пробовал в самом скрипте полазить ну что-то, толу никакого !
Неактивен
Ну, в любом случае, описания проблемы запуска сценария имеет смысл направлять
автору этого сценария.
Неактивен