���룺����(yanzi) ��ҳ��http://aosp.me
��һ��, ǰһ��, ��һ��, ���һ����Ŀ¼.
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����