myisamchk
���б���ά���ͱ����ָ�Ϊ�˼���/��MyISAM��(.MYI
��.MYD
)����Ӧ��ʹ��myisamchk
ʵ�ó�����Ϊ�˼���/��ISAM��(.ISM
��.ISD
)����Ӧ��ʹ��isamchk
ʵ�ó���9.4 MySQL ����������
�������У����ǽ�����myisamchk
������Ҳ�������ϵ�isamchk
��
������ʹ��myisamchk
ʵ�ó����������й��������ݿ���������Ϣ�������������ǻ��Ż����ǡ�����С���������ε���myisamchk
����������ѡ��������)�����ν���һ����ά����ʱ��������������ʹ��myisamchk
ִ�������ֹ��ܡ�
��������--skip-locking
����mysqld
������һЩϵͳ����ȱʡ�ģ���Linux)����mysqld
����ʹ��ͬһ����ʱ���㲻�ܿɿ���ʹ��myisamchk
����һ�ű����������ܿ϶���������myisamchk
ʱû����ͨ��mysqld
���ڴ�ȡ�������㿪ʼ������֮ǰ����������mysqladmin
flush-tables
�������㲻�ܱ�֤�� ��ô����������ʱ��������ͣ��mysqld
����������mysqld
���ڸ��±�ʱ����myisamchk
�������ܵõ�һ�������ƻ��ľ��棬��ʹ��û�С�
������ûʹ��--skip-locking
���������κ�ʱ��ʹ��myisamchk
����������������ʱ��������ͼ���±��Ŀͻ��ڼ���ǰ���ȵ�myisamchk
������
������ʹ��myisamchk
�����Ż��������������DZ�֤mysqld
����������ʹ�ñ�(����������ʹ��--skip-locking
����Ҳ����)�������㲻ͣ��mysqld
����������myisamchk
ǰ��������Ӧ����һ��mysqladmin
flush-tables
��
�ڴ����������£���Ҳ��ʹ������OPTIMIZE TABLES
�Ż��������������ⲻ��myisamchk
�����ɿ�(������������������������)������һ���棬OPTIMIZE
TABLE
����ʹ�ò����㲻�����������ձ�����7.9OPTIMIZE TABLE
�䷨��
myisamchk
�����myisamchk
�������ã�
shell> myisamchk [options] tbl_name
options
ָ������Ҫmyisamchk
��ʲô����������������������Ҳ����ͨ������myisamchk
--help
�õ�һ��ѡ������) û��ѡ�myisamchk
�ؼ������ı���Ϊ�˵õ���������Ϣ������myisamchk
ִ��У��������ָ������������С��������ѡ������
tbl_name
������Ҫ���������ݿ����������㲻�����ݿ�Ŀ¼��ij������myisamchk
��������ָ�����ļ���·������Ϊmyisamchk
��֪���������ݿ�λ���Ķ���ʵ���ϣ�myisamchk
���ں������ڲ������ļ��Ƿ�λ��һ�����ݿ�Ŀ¼�������Կ�����Ӧ��һ�����ݿ������ļ�������������ִ�лָ�������
������Ը�⣬������myisamchk
��������������������Ҳ��ָ��һ��������Ϊһ�������ļ�(����
.MYI����)����������ͨ��ʹ��ģʽ��*.MYI��ָ����һ��Ŀ¼���еı������磬��������һ�����ݿ�Ŀ¼��������������Ŀ¼�¼������еı���
shell> myisamchk *.MYI
�����㲻�����ݿ�Ŀ¼�£�����ͨ��ָ����Ŀ¼��·�����������������ı���
shell> myisamchk /path/to/database_dir/*.MYI
����������ͨ��ΪMySQL����Ŀ¼��·��ָ��һ��ͨ�������������е����ݿ��е����б���
shell> myisamchk /path/to/datadir/*/*.MYI
myisamchk
֧������ѡ�
-a, --analyze
-#, --debug=debug_options
debug_options
�ַ���������'d:t:o,filename'
��-d, --description
-e, --extend-check
myisamchk
Ӧ���ҳ����д���ʹû�и�ѡ�-f, --force
-f
(����myisamchk
û��-r
)��myisamchk
�ڼ����ڼ佫�Զ�Ϊ����һ�������ı���-r
������--help
-i, --information
-k #, --keys-used=#
-r
һ��ʹ�á�����ISAM��������������ͷ#
���������ϸ߱��ŵ���������������������ʹ�������ø��죡������������ͨ��ʹ��myisamchk
-r
�����¼��-l, --no-symlinks
myisamchk
��һ������������ָ�ı���-q, --quick
-r
һ��ʹ��ʹ��һ�������졣ͨ����ԭ���������ļ�û���Ӵ�������ָ���ڶ���-q
ǿ��ʹ��ԭ���������ļ���
-r, --recover
-o, --safe-recover
-r
��Щ�������ܴ���һ-r
���ܴ�����������-O var=option, --set-variable var=option
-s, --silent
-s
����(-ss
)�dz���Ĭ����myisamchk
��-S, --sort-index
-R index_num, --sort-records=index_num
SELECT
��ORDER
BY
�ķ�Χ����������һ�����������ܺ�����)
Ϊ���ҳ�һ�ű����������ţ�ʹ��SHOW INDEX
������myisamchk
�������ǵ���ͬ˳����ʾһ�ű���������������1��ʼ���š�-u, --unpack
myisampack
ѹ���ı���-v, --verbose
-d
��-e
һ��ʹ�á�Ϊ�˸��߳���ʹ��-v
����(-vv
,
-vvv
)��-V, --version
myisamchk
�汾���˳���-w, --wait
��--set-variable
(-O
)ѡ����ܵı����ǣ�
key_buffer_size ��ǰֵ: 16776192 read_buffer_size ��ǰֵ: 262136 write_buffer_size ��ǰֵ: 262136 sort_buffer_size ��ǰֵ: 2097144 sort_key_blocks ��ǰֵ: 16 decode_bits ��ǰֵ: 9
myisamchk
�ڴ�ʹ����������myisamchk
ʱ���ڴ���������Ҫ��myisamchk
ʹ�ò���������-O
ѡ��ָ�����ڴ��������������ںܴ����ļ���ʹ��myisamchk
��������Ӧ��ȷ������Ҫ��ʹ�ö����ڴ档ȱʡ��ʹ�ô�Լ
3M ������ͨ��ʹ�ø�����ֵ������ʹmyisamchk
�����ز��������磬�������ж���32M�ڴ棬����ʹ��������Щѡ��(�����κ�������ָ����ѡ��)��
shell> myisamchk -O sort=16M -O key=16M -O read=1M -O write=1M ...
ʹ��-O sort=16M
Ӧ�ÿ��ܶԴ��������ξ��㹻�ˡ�
�������ף�myisamchk
ʹ����TMPDIR
��������ʱ�ļ�������TMPDIR
ָ��һ���ڴ��ļ�ϵͳ�������ܺ����õ��ڴ������Ĵ������������������趨TMPDIR
ָ���и����ռ���ij��Ŀ¼��������myisamchk
��
��һ�����ڻ������ǵȵ��������ֲ�ʵʩ���ݿ����ļ�����һ�������⡣Ϊά��Ŀ�ģ�����ʹ��myisamchk
-s
�������ӡ�-s
ѡ��ʹmyisamchk
�Գ�Ĭģʽ���У�����������ʱ��������ӡ��Ϣ��
�ڷ���������ʱ��������һ�������⡣���磬���ۺ�ʱ�����ڸ��µ������������ˣ���ͨ����Ҫ�������п��ܱ�Ӱ���˵ı���������һ���������ƻ��˵ı���)
������������һ���ɵ���.pid��������ID)������Ϊsafe_mysqld
����һ�����ԣ�����myisamchk
���������ڹ�ȥ24Сʱ�Ĺ��ı�)������.pid���ļ���mysqld
����ʱ��������������������ֹʱɾ������ϵͳ����ʱ����һ����.pid���ļ�����mysqld
�쳣����ֹ�ˡ���
һ�����õIJ��Խ��Ǽ����κα�������������ʱ���DZ���.pid���ļ����¡�
��ҲӦ�ö���������ϵͳ�����ڼ�����������TcX����������һ��cron
������ÿ��һ�μ�������������Ҫ�ı�����һ����crontab���ļ���ʹ���������У�
35 0 * * 0 /path/to/myisamchk -s /path/to/datadir/*/*.MYI
����ӡ���ı�����Ϣ�����������ܼ��鲢������Ҫʱ�����ǡ�
���������ڼ���(��ȷʵ������)��û���κ������ı�ʱ(���ڳ�Ӳ��������������ԭ�������ı�)��ÿ��һ�ζ��������㹻�ˡ�
���ǽ������ڿ�ʼ��������������24Сʱ�ڱ������˱�ÿ����ִ��myisamchk
-s
��ֱ����������������������MySQL��
Ϊ�˻��ù���һ������������ͳ�ƣ�ʹ����ʾ����������������Ժ�����ϸ�ؽ���ijЩ��Ϣ��
myisamchk -d tbl_name
myisamchk
���������ı�����������������--skip-locking
ѡ������MySQL��������myisamchk
���Ե�������ʱ���汻һ�����µı��Ĵ�����Ȼ������Ȼ������ģʽ��myisamchk
���ı�����û���ƻ����ݵ��κη��ա�
myisamchk -d -v tbl_name
myisamchk
������ʲô����Ϣ������-v
���������߳�ģʽ���С�
myisamchk -eis tbl_name
myisamchk -eiv tbl_name
-eis
��ֻ�Ǹ�����������ʲô�� myisamchk -d
���������ӣ�
MyISAM file: company.MYI Record format: Fixed length Data records: 1403698 Deleted blocks: 0 Recordlength: 226 table description: Key Start Len Index Type 1 2 8 unique double 2 15 10 multip. text packed stripped 3 219 8 multip. double 4 63 10 multip. text packed stripped 5 167 2 multip. unsigned short 6 177 4 multip. unsigned long 7 155 4 multip. text 8 138 4 multip. unsigned long 9 177 4 multip. unsigned long 193 1 text
myisamchk -d -v
���������ӣ�
MyISAM file: company Record format: Fixed length File-version: 1 Creation time: 1999-10-30 12:12:51 Recover time: 1999-10-31 19:13:01 Status: checked Data records: 1403698 Deleted blocks: 0 Datafile parts: 1403698 Deleted data: 0 Datafilepointer (bytes): 3 Keyfile pointer (bytes): 3 Max datafile length: 3791650815 Max keyfile length: 4294967294 Recordlength: 226 table description: Key Start Len Index Type Rec/key Root Blocksize 1 2 8 unique double 1 15845376 1024 2 15 10 multip. text packed stripped 2 25062400 1024 3 219 8 multip. double 73 40907776 1024 4 63 10 multip. text packed stripped 5 48097280 1024 5 167 2 multip. unsigned short 4840 55200768 1024 6 177 4 multip. unsigned long 1346 65145856 1024 7 155 4 multip. text 4995 75090944 1024 8 138 4 multip. unsigned long 87 85036032 1024 9 177 4 multip. unsigned long 178 96481280 1024 193 1 text
myisamchk -eis
���������ӣ�
Checking MyISAM file: company Key: 1: Keyblocks used: 97% Packed: 0% Max levels: 4 Key: 2: Keyblocks used: 98% Packed: 50% Max levels: 4 Key: 3: Keyblocks used: 97% Packed: 0% Max levels: 4 Key: 4: Keyblocks used: 99% Packed: 60% Max levels: 3 Key: 5: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 6: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 7: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 8: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 9: Keyblocks used: 98% Packed: 0% Max levels: 4 Total: Keyblocks used: 98% Packed: 17% Records: 1403698 M.recordlength: 226 Packed: 0% Recordspace used: 100% Empty space: 0% Blocks/Record: 1.00 Record blocks: 1403698 Delete blocks: 0 Recorddata: 317235748 Deleted data: 0 Lost space: 0 Linkdata: 0 User time 1626.51, System time 232.36 Maximum resident set size 0, Integral resident set size 0 Non physical pagefaults 0, Physical pagefaults 627, Swaps 0 Blocks in 0 out 0, Messages in 0 out 0, Signals 0 Voluntary context switches 639, Involuntary context switches 28966
myisamchk -eiv
���������ӣ�
Checking MyISAM file: company Data records: 1403698 Deleted blocks: 0 - check file-size - check delete-chain block_size 1024: index 1: index 2: index 3: index 4: index 5: index 6: index 7: index 8: index 9: No recordlinks - check index reference - check data record references index: 1 Key: 1: Keyblocks used: 97% Packed: 0% Max levels: 4 - check data record references index: 2 Key: 2: Keyblocks used: 98% Packed: 50% Max levels: 4 - check data record references index: 3 Key: 3: Keyblocks used: 97% Packed: 0% Max levels: 4 - check data record references index: 4 Key: 4: Keyblocks used: 99% Packed: 60% Max levels: 3 - check data record references index: 5 Key: 5: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 6 Key: 6: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 7 Key: 7: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 8 Key: 8: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 9 Key: 9: Keyblocks used: 98% Packed: 0% Max levels: 4 Total: Keyblocks used: 9% Packed: 17% - check records and index references [LOTS OF ROW NUMBERS DELETED] Records: 1403698 M.recordlength: 226 Packed: 0% Recordspace used: 100% Empty space: 0% Blocks/Record: 1.00 Record blocks: 1403698 Delete blocks: 0 Recorddata: 317235748 Deleted data: 0 Lost space: 0 Linkdata: 0 User time 1639.63, System time 251.61 Maximum resident set size 0, Integral resident set size 0 Non physical pagefaults 0, Physical pagefaults 10580, Swaps 0 Blocks in 4 out 0, Messages in 0 out 0, Signals 0 Voluntary context switches 10604, Involuntary context switches 122798
���Ƕ����������������еı������ݴ�С�������ļ��Ĵ�С��
-rw-rw-r-- 1 monty tcx 317235748 Jan 12 17:30 company.MYD -rw-rw-r-- 1 davida tcx 96482304 Jan 12 18:35 company.MYM
��myisamchk
������Ϣ���������������͡���keyfile���������ļ�������¼���͡��С���ͬ���ʡ�
ISAM file
Isam-version
Creation time
Recover time
Data records
Deleted blocks
Datafile: Parts
Data
records
��ͬ�� Deleted data
Datafile pointer
Keyfile pointer
Max datafile length
.MYD
�ļ�)�ܹ��ж�����ֽڼơ� Max keyfile length
.MYI
�ļ�)�ܹ��ж�����ֽڼơ� Recordlength
Record format
Fixed length��
�������ܵ�ֵ��Compressed
��Packed
.
table description
Key
Start
Len
Index
unique
��multip
��multiple)������һ��ֵ�Ƿ����ڸ������д��ڶ��Ρ�
Type
packed
��stripped
��empty
ѡ����
ISAM �������͡� Root
Blocksize
Rec/key
myisamchk
-a
���¡�����������û�����£�����һ��30��ȱʡֵ��Keyblocks used
myisamchk
��������֯��ֵ�dz���(�ܽӽ������ϵ�����ֵ)��
Packed
CHAR
/VARCHAR
/DECIMAL
�����Գ��ַ��������������������ؼ���ʹ�ÿռ䡣�������ĵ�3�������У���4������10���ַ��������ڿռ��ϴﵽ60%��������Max levels
Records
M.recordlength
Packed
Packed
ֵ�����������ﵽ�Ľ�Լ�İٷֱȡ�
Recordspace used
Empty space
Blocks/Record
myisamchk
������֯������13.4.3 ���Ż��� Recordblocks
Deleteblocks
Recorddata
Deleted data
Lost space
Linkdata
Linkdata
��������ָ��ʹ�õ��ڴ���֮�͡�
����һ�ű��Ѿ���myisampack
ѹ���ˣ�myisamchk -d
��ӡÿ�����еĸ�����Ϣ����������һ�����Ӽ��京������������12.5 MySQLѹ��ֻ������������
myisamchk
���б����ָ���MySQL�����洢���ݵ��ļ���ʽ���Ѿ����㷺�ز��Թ��������������ⲿ�������Ե������ݿ������ƻ���
mysqld
������һ��д�뵱�б�ɱ���������������μ����ʹ�����MySQL���ݿ��е��������������ı��ܶ࣬��Ӧ�ó����ҳ���ԭ��G.1 ����һ��MySQL��������
��ִ�б����ָ�ʱ��������һ�����ݿ��е�ÿһ����tbl_name
��Ӧ�������ݿ�Ŀ¼�е�3���ļ��Ǻ���Ҫ�ģ�
�ļ� | ��; |
��tbl_name.frm�� | ������(����)�ļ� |
��tbl_name.MYD�� | �����ļ� |
��tbl_name.MYI�� | �����ļ� |
��3���ļ���ÿһ���ļ����Ϳ������ܲ�ͬ��ʽ������������������������ļ��������ļ���
myisamchk
ͨ��һ��һ�еش���һ����.MYD�������� )�ļ��ĸ�������������ͨ����ɾ���ϵ���.MYD
�ļ��������������ļ���ԭ�����ļ����������Ρ�������ʹ��--quick
��myisamchk
������һ����ʱ��.MYD���ļ���ֻ�Ǽٶ���.MYD���ļ�����ȷ�IJ��ҽ�����һ���µ������ļ������Ӵ���.MYD���ļ������ǰ�ȫ�ģ���Ϊmyisamchk
�Զ�������.MYD���ļ��Ƿ����������������£�����������Ҳ���Ը�myisamchk
����--quick
ѡ������������£�myisamchk
������һЩ������(���ظ���)�������෴��ͼͨ������.MYD���ļ��������ǡ�ͨ����ֻ��������̫�ٵĿ��д��̿ռ���ʵʩһ����������ʹ������--quick
ѡ�������á������������£���Ӧ������������myisamchk
ǰ��һ�����ݡ�
Ϊ�˼���һ�ű���ʹ���������
myisamchk tbl_name
myisamchk
����-s
��--silent
ѡ�����κ�һ����
myisamchk -e tbl_name
-e
��˼�ǡ���չ���顱)������ÿһ����ÿ�����Ķ�������֤ʵ����ȷʵָ����ȷ���С�����һ���кܶ����Ĵ����Ͽ��ܻ��ܳ�ʱ�䡣myisamchk
ͨ�����������ֵ�һ�������Ժ�ֹͣ����������Ҫ���ø�������Ϣ����������--verbose
(-v
)ѡ���ʹ��myisamchk
����һֱ������20����������һ��ʹ���У�һ����myisamchk
��û�г����������IJ���)���㹻�ˡ�myisamchk -e -i tbl_name
-i
ѡ������myisamchk
����ӡ��һЩͳ����Ϣ��һ���ı���֢״ͨ���Dz�ѯ�����жϲ������ܿ���������Щ������
����Щ�����£�������������myisamchk
ͨ���ܼ��Ⲣ���������Ĵֶ�����
�����̰�������4���Σ����������������㿪ʼǰ����Ӧ��cd
�����ݿ�Ŀ¼�ͼ������ļ���Ȩ�ޣ�ȷ�����ǿɱ�����mysqld
��Unix�û���ȡ(���㣬��Ϊ����Ҫ��ȡ�����ڼ������ļ�)���������ܾ������ļ�������Ҳ�����ǿɱ���д���ġ�
��1���������ı�
����myisamchk *.MYI
��(myisamchk -e *.MYI
���������и�����ʱ��)��ʹ��-s
����Ĭ)ѡ����ֹ����Ҫ����Ϣ��
������ֻ����Щmyisamchk
������һ�������ı����������ı�����������2��
�����ڼ���ʱ�����õ����ֵĴ���(����out of memory
����)��������myisamchk
����������3��
��̨ 2 ����ȫ����
���ȣ�����myisamchk -r -q tbl_name
(-r -q
��ζ�š����ٻָ�ģʽ��)���⽫��ͼ���Ӵ������ļ����������ļ������������ļ�������Ӧ�е�һ�к��������ļ�ָ����ȷ�ص���ɾ�����ӣ���Ӧ�ù��ò��ұ��ɱ�������ʼ������һ�ű���������ʹ�����й��̣�
myisamchk -r tbl_name
(-r
��ζ�š��ָ�ģʽ��)���⽫�������ļ���ɾ������ȷ�ļ�¼���ѱ�ɾ���ļ�¼���ؽ������ļ���myisamchk --safe-recover tbl_name
����ȫ�ָ�ģʽʹ��һ���ϵĻָ����������������ָ�ģʽ���е���������(���Ǹ���)����������ʱ�����õ����ֵĴ���(����out of memory
����)��������myisamchk
����������3��
��̨ 3 �����ѵ�����
�����������ļ��ĵ�һ��16K�鱻�ƻ�������������ȷ����Ϣ�������������ļ���ʧ����ֻӦ�õ������� �������������£�����һ���µ������ļ��DZ�Ҫ�ġ���������������
shell> mysql db_name mysql> DELETE FROM tbl_name; mysql> quit
�ص���2������myisamchk -r -q
Ӧ�ù����ˡ����ⲻӦ����һ������ѭ��)��
��4���dz����ѵ���
ֻ�������ļ�Ҳ�ƻ��ˣ�����Ӧ�õ��������Ρ���Ӧ�ô�δ����������Ϊ�ڱ��������Ժ��������ļ��Ͳ��ٸı��ˡ�
myisamchk
-r
������ Ϊ�����ϳ���Ƭ�ļ�¼������������ɾ�������¼�¼���˷ѵĿռ䣬
�Իָ�ģʽ����myisamchk
��
shell> myisamchk -r tbl_name
��������SQL��OPTIMIZE TABLE
����ʹ�õ���ͬ��ʽ���Ż�һ�ű���OPTIMIZE
TABLE
�Ƚ����ף�����myisamchk
���졣Ҳû����һ��ʵ�ó����ͷ�����֮�䲻��Ҫ�Ľ��������ԣ���Ϊ����ʹ��OPTIMIZE
TABLE
ʱ�������������еĹ�����
myisamchk
Ҳ�����������Ľ�һ���������ܵĺܶ�����ѡ�
-S, --sort-index
-R index_num, --sort-records=index_num
-a, --analyze
����ѡ��������������13.1.1
myisamchk
�������
��MySQL����־�ļ�һ��ʹ��ʱ������ʱ��Ҫɾ��/���ݾɵ���־�ļ����Ҹ���MySQL�����ļ��п�ʼ��¼����9.2 ������־��
��һ�� Linux (Redhat
)�İ�װ�ϣ�����Ϊ��ʹ��mysql-log-rotate
�ű�����������RPM�ַ���װMySQL���ű�Ӧ���Զ�����װ�ˡ�
������ϵͳ�ϣ��������Լ���װһ���̽ű������ɴ�cron
������������־�ļ���
������ͨ��ʹ��mysqladmin flush-logs
��SQL����FLUSH LOGS
��ǿ��MySQL��ʼʹ���µ���־�ļ�������������ʹ��MySQL
3.21��������ʹ��mysqladmin refresh
��
�������������������飺
--log
)���رղ����´�����־�ļ���(��
mysql.log��Ϊȱʡ)�� --log-update
)���رո�����־�������´�����һ�����ߵ�˳���ձ��ŵ�����־�ļ���������ֻʹ��һ��������־����ֻ��������־�ļ���Ȼ�����߾ɵĸ�����־�ļ���һ�������С�������ʹ��һ������־����������������
shell> cd mysql-data-directory shell> mv mysql.log mysql.old shell> mysqladmin flush-tables
Ȼ����һ�����ݲ�ɾ����mysql.old����