��������  ����Linux

mysql-logo.png (3082 bytes)MySQL���IJο��ֲ�

���룺����(yanzi)       ��ҳ��http://aosp.me


��һ��, ǰһ��, ��һ��, ���һ����Ŀ¼.


13 ά��MySQL��װ

13.1 ʹ��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�䷨��

13.1.1 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
�dz����׵ؼ���������ڼ���������DZ�Ҫ�ġ�ͨ����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

13.1.2 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��

13.2 ����һ�����ݿ��ά���淶

��һ�����ڻ������ǵȵ�������ֲ�ʵʩ���ݿ���ļ����һ�������⡣Ϊά��Ŀ�ģ�����ʹ��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��

13.3 ��ù���һ��������Ϣ

Ϊ�˻�ù���һ������������ͳ�ƣ�ʹ����ʾ���������������Ժ����ϸ�ؽ���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(����)�ļ�����
Isam-version
ISAM��ʽ�İ汾����ǰ����2��
Creation time
�����ļ���������ʱ�䡣
Recover time
����/�����ļ��ϴα��ؽ���ʱ�䡣
Data records
�ڱ����ж��ټ�¼��
Deleted blocks
�ж���ɾ���Ŀ���Ȼ�����ſռ䡣������Ż�����ʹ����ռ������С����13.4.3 ���Ż���
Datafile: Parts
�Զ�̬��¼��ʽ����ָ���ж������ݿ顣����һ��û����Ƭ���Ż����ı�������Data records��ͬ��
Deleted data
���ܻ��յ�ɾ�������ж����ֽڡ�������Ż�����ʹ����ռ������С����13.4.3 ���Ż���
Datafile pointer
�����ļ�ָ��Ĵ�С�����ֽڼơ���ͨ����2��3��4��5���ֽڡ����������2���ֽڹ���������Ŀǰ�⻹���ܴ�MySQL���ơ��Թ̶���������һ����¼��ַ���Զ�̬��������һ���ֽڵ�ַ��
Keyfile pointer
�����ļ�ָ��Ĵ�С�����ֽڼơ���ͨ����1��2��3���ֽڡ���������� 2 ���ֽڹ������������Զ���MySQL���㡣������һ�����ַ��
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
ÿ��������Ĵ�С��ȱʡ��1024������ֵ�����ڱ���ʱ�ı䡣
Rec/key
�������Ż���ʹ�õ�ͳ��ֵ�������߶Ըü���ÿ��ֵ�ж�������¼��Ψһ��������һ��1ֵ����һ������װ�غ�(��ı�ܴ�)���������myisamchk -a���¡���������û�����£�����һ��30��ȱʡֵ��
�������һ�������У��ڸ�9������2�����ֵĶಿ����
Keyblocks used
����ʹ�õİٷֱ���ʲô����Ϊ��������ʹ�õı�ֻ����myisamchk��������֯��ֵ�dz���(�ܽӽ������ϵ����ֵ)��
Packed
MySQL��ͼ��һ��������׺ѹ��������ֻ�ܱ�����CHAR/VARCHAR/DECIMAL�����Գ��ַ��������������������ؼ���ʹ�ÿռ䡣������ĵ�3�������У���4������10���ַ��������ڿռ��ϴﵽ60%��������
Max levels
���ڸü���B���ж���г����Ĵ���нϸߵ�ֵ��
Records
���������
M.recordlength
ƽ����¼���ȡ������ж�����¼�ı�������׼ȷ�ļ�¼���ȡ�
Packed
MySQL���ַ����Ľ�βȥ���ո�Packedֵ�����������ﵽ�Ľ�Լ�İٷֱȡ�
Recordspace used
�����ļ���ʹ�õİٷֱȡ�
Empty space
�����ļ�δ��ʹ�õİٷֱȡ�
Blocks/Record
ÿ����¼��ƽ������ (����һ����Ƭ��¼�ɶ��ٸ��������)���Թ̶���ʽ����������1����ֵӦ�þ����ܱ��ֽӽ�1.0����������̫�������myisamchk������֯������13.4.3 ���Ż���
Recordblocks
���ٿ�(����)��ʹ�á��Թ̶���ʽ�������¼�ĸ�����ͬ��
Deleteblocks
���ٿ�(����)��ɾ����
Recorddata
�������ļ���ʹ���˶����ֽڡ�
Deleted data
�������ļ��ж����ֽڱ�ɾ��(δʹ��)��
Lost space
���һ����¼����Ϊ���̵ij��ȣ�����ʧ��һЩ�ռ䡣����������������ʧ֮�ͣ����ֽڼơ�
Linkdata
��ʹ�ö�̬����ʽ����¼��Ƭ��ָ������(ÿ��4 �� 7�ֽ�)�� Linkdata��������ָ��ʹ�õ��ڴ���֮�͡�

���һ�ű��Ѿ���myisampackѹ���ˣ�myisamchk -d��ӡÿ�����еĸ�����Ϣ����������һ�����Ӽ��京�����������12.5 MySQLѹ��ֻ������������

13.4 ʹ��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ǰ��һ�����ݡ�

13.4.1 ���������Ĵ���

Ϊ�˼��һ�ű���ʹ���������

myisamchk tbl_name
�����ҳ����д����99.99%���������ҳ����������漰�����ļ�����(��ܲ�����)���������Ҫ���һ�ű�����ͨ��Ӧ��û��ѡ�������myisamchk����-s��--silentѡ����κ�һ����
myisamchk -e tbl_name
����һ����ȫ���׵����ݼ��(-e��˼�ǡ���չ��顱)������ÿһ����ÿ�����Ķ������֤ʵ����ȷʵָ����ȷ���С�����һ���кܶ���Ĵ���Ͽ��ܻ��ܳ�ʱ�䡣myisamchkͨ�����������ֵ�һ�������Ժ�ֹͣ���������Ҫ��ø������Ϣ����������--verbose(-v)ѡ���ʹ��myisamchk����һֱ�����20��������һ��ʹ���У�һ���򵥵�myisamchk��û�г���������IJ���)���㹻�ˡ�
myisamchk -e -i tbl_name
��ǰ�������һ��������-iѡ�����myisamchk����ӡ��һЩͳ����Ϣ��

13.4.2 �����޸���

һ���𻵵ı���֢״ͨ���Dz�ѯ�����жϲ������ܿ���������Щ����

  • ��tbl_name.frm�����������ܸı䡣
  • �����ҵ��ļ���tbl_name.MYI����Errcode ��### ����
  • �ӱ��������ĵõ�����###(��ʱ������135��һ�����⣩��
  • ������ļ�������
  • ��¼�ļ����ٻ���

����Щ����£�������޸�����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��ζ�š����ٻָ�ģʽ��)���⽫��ͼ���Ӵ������ļ����޸������ļ�����������ļ�������Ӧ�е�һ�к��������ļ�ָ����ȷ�ص��ɾ�����ӣ���Ӧ�ù��ò��ұ��ɱ��޸�����ʼ������һ�ű�������ʹ�����й��̣�

  1. �ڼ���ǰ�������ļ���һ�����ݡ�
  2. ʹ��myisamchk -r tbl_name(-r��ζ�š��ָ�ģʽ��)���⽫�������ļ���ɾ������ȷ�ļ�¼���ѱ�ɾ���ļ�¼���ؽ������ļ���
  3. ���ǰ��IJ���ʧ�ܣ�ʹ��myisamchk --safe-recover tbl_name����ȫ�ָ�ģʽʹ��һ���ϵĻָ���������������ָ�ģʽ���е��������(���Ǹ���)��

������޸�ʱ����õ���ֵĴ���(����out of memory����)�������myisamchk���������׶�3��

��̨ 3 �����ѵ�����

����������ļ��ĵ�һ��16K�鱻�ƻ������������ȷ����Ϣ������������ļ���ʧ����ֻӦ�õ�����׶� ������������£�����һ���µ������ļ��DZ�Ҫ�ġ���������������

  1. �������ļ��Ƹ���ȫ�ĵط���
  2. ʹ�ñ������ļ������µ�(��)���ݺ������ļ���
    shell> mysql db_name
    mysql> DELETE FROM tbl_name;
    mysql> quit
    
  3. ���ϵ������ļ��������´����������ļ�֮�С�����Ҫֻ�ǽ����ļ��ƻ����ļ�֮�У���Ҫ����һ�������Է�ijЩ������������

�ص��׶�2������myisamchk -r -qӦ�ù����ˡ����ⲻӦ����һ������ѭ��)��

�׶�4���dz����ѵ��޸�

ֻ�������ļ�Ҳ�ƻ��ˣ����Ӧ�õ�������׶Ρ���Ӧ�ô�δ����������Ϊ�ڱ��������Ժ������ļ��Ͳ��ٸı��ˡ�

  1. ��һ�����ݻָ������ļ����һص��׶�3����Ҳ���Իָ������ļ����һص��׶�2���Ժ��ߣ���Ӧ����myisamchk -r������
  2. �����û��һ�����ݵ���ȷ�е�֪�����������������ģ�����һ�����ݿ��д�������һ��������ɾ���µ������ļ���Ȼ����������ݿ⽫�����������ļ��Ƶ��ƻ������ݿ��С���������µ������������ļ��������������ļ������������ˡ��ص��׶�2���ҳ����ؽ������ļ���

13.4.3 ���Ż�

Ϊ����ϳ���Ƭ�ļ�¼������������ɾ������¼�¼���˷ѵĿռ䣬 �Իָ�ģʽ����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�����﷨��

13.5 ��־�ļ�ά��

��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����


��һ��, ǰһ��, ��һ��, ���һ����Ŀ¼.

��������  ����Linux