All MySQL clients that communicate with the server using the
mysqlclient library use the following environment variables:
| Name | Description | 
| MYSQL_UNIX_PORT | The default socket. Used with 'localhost'. | 
| MYSQL_TCP_PORT | The default TCP port. | 
| MYSQL_PWD | The default password. | 
mysql
mysqlaccess
mysqladmin
mysqld
mysqldump
mysqlimport
LOAD DATA INFILE. See section LOAD DATA INFILE syntax
mysqlshow
mysqlbug
mysql_install_db
isamchk
make_binary_release
msql2mysql
mSQL program to
MySQL. Doesn't handle all cases but gives a good start when
converting.
replace
replace a
b b a -- files swaps a and b in the given files.
safe_mysqld
For information about how to use isamchk to repair a crashed table: See section How to repair tables..
isamchk doesn't use any more memory than you define with
the -O options. The default is to use only about 2M to fix
things.
But isamchk uses temporary files in TMPDIR. If
TMPDIR points to a memory file system you may easily get out of
memory errors.
Using -O sortbuffer=16M should probably be enough for most cases.
To get a description/statistics from a table use the methods below. We will explain some of the information in more detail later.
isamchk -d table_name
--skip-locking
isamchk may report an error for a table that is updated while
isamchk runs, but there isn't any risk of destroying data.
isamchk -d -v table_name
isamchk -eis table_name
isamchk -eiv table_name
Example of isamchk -d output:
ISAM file:     company.ISM
Data records:           1403698  Deleted blocks:         0
Recordlength:               226
Record format: Fixed length
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
Example of isamchk -d -v output:
ISAM file:     company.ISM
Isam-version:  2
Creation time: 1996-08-28 11:44:22
Recover time:  1997-01-12 18:35:29
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
Record format: Fixed length
r
table description:
Key Start Len Index   Type                      Root Blocksize Rec/key
1   2     8   unique  double                15845376      1024       1
2   15    10  multip. text packed stripped  25062400      1024       2
3   219   8   multip. double                40907776      1024      73
4   63    10  multip. text packed stripped  48097280      1024       5
5   167   2   multip. unsigned short        55200768      1024    4840
6   177   4   multip. unsigned long         65145856      1024    1346
7   155   4   multip. text                  75090944      1024    4995
8   138   4   multip. unsigned long         85036032      1024      87
9   177   4   multip. unsigned long         96481280      1024     178
    193   1           text
Example of isamchk -eis output:
Checking ISAM file: company.ISM 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 Recordblocks: 1403698 Deleteblocks: 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 contexts switches 639, Involuntary contexts switches 28966
Example of isamchk -eiv output:
Checking ISAM file: company.ISM Data records: 1403698 Deleted blocks: 0 - check file-size - check delete-chain 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 Recordblocks: 1403698 Deleteblocks: 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 contexts switches 10604, Involuntary contexts switches 122798
Here are the data file sizes of the table used above.
-rw-rw-r-- 1 monty tcx 317235748 Jan 12 17:30 company.ISD -rw-rw-r-- 1 davida tcx 96482304 Jan 12 18:35 company.ISM
Explanations for the things isamchk prints:
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
.ISD) get.
Max keyfile length
.ISM) get.
Recordlength
Record format
Fixed
length.
table description
Key
Start
Len
Index
unique or multip.. If one value can exist multiple times
in this index.
Type
C data-type
with the options packed, stripped or empty.
Root
Blocksize
Rec/key
isamchk -a. If this is not updated at all, a default
value of 30 is given.
Keyblocks used
Packed
CHAR/VARCHAR/DECIMAL keys. For long strings like
names, this can significantly reduce the space used. In the above example
the 4 key is 10 characters long and gets a 60% reduction in space.
Max levels
Records
M.recordlength
Packed
Recordspace used
Empty space
Blocks/Record
isamchk. See section How to repair tables..
Recordblocks
Deleteblocks
Recorddata
Deleted data
Lost space
Linkdata
pack_isam is an extra that you get when ordering more that 10
licenses or extended support. Since pack_isam is distributed
binary only, pack_isam is only available on some platforms.
Of course, all future updates to pack_isam is included in the
price. pack_isam may at some time be included as standard when
we get some kind of turnover for MySQL.
pack_isam works by compressing each column in the table
separately. The information needed to decompress is read into memory
when the table is opened. This gives a much better performance when
accessing individual records as one only has to uncompress exactly one
record, not a much larger disk block like when using Stacker on MSDOS.
MySQL uses memory mapping (mmap) on compressed tables and falls back to normal read/write file usage if mmap doesn't work.
Usually, pack_isam packs the datafile 40-70%.
There is currently two limitations with pack_isam:
Fixing these limitations is on our TODO but with low priority.
pack_isam options:
> pack_isam --help
pack_isam Ver 5.0 for SOLARIS 2.5 on SPARCstation
Copyright (C) 1994-1997 TcX AB & Monty Program KB & Detron HB.
This is not free software. You must have a license to use this program
This software comes with ABSOLUTELY NO WARRANTY
Pack a ISAM-database to take much smaller space
Keys are not updated, one must run isamchk -rq on datafile afterwards
Usage: pack_isam [OPTIONS]
  -b, --backup          Make a backup of the table as table_name.OLD
  -f, --force           Force packing of table even if it's gets bigger or
                        tempfile exists.
  -j, --join=#          Join all given tables into table.
                        All tables MUST be identical.
  -p, --packlength=#    Force storage size of recordlength (1,2 or 3)
  -s, --silent          Be more silent.
  -t, --test            Don't pack table only test packing it
  -v, --verbose         Write info about progress and packing result
  -w, --wait            Wait and retry if table is in use
  -T, --tmp_dir=#       Use temporary directory to store temporary table
  -#, --debug=...       output debug log. Often this is 'd:t:o,filename`
  -?, --help            display this help and exit
  -V, --version         output version information and exit
Typical run:
(/my/monty/tmp) ls -l station.*
-rw-rw-r--   1 monty    my         994128 Apr 17 19:00 station.ISD
-rw-rw-r--   1 monty    my          53248 Apr 17 19:00 station.ISM
-rw-rw-r--   1 monty    my           5767 Apr 17 19:00 station.frm
(/my/monty/tmp) isamchk -dvv station
ISAM file:     station
Isam-version:  2
Creation time: 1996-03-13 10:08:58
Recover time:  1997-02-02  3:06:43
Data records:              1192  Deleted blocks:              0
Datafile: Parts:           1192  Deleted data:                0
Datafilepointer (bytes):      2  Keyfile pointer (bytes):     2
Max datafile length:   54657023  Max keyfile length:   33554431
Recordlength:               834
Record format: Fixed length
table description:
Key Start Len Index   Type                       Root  Blocksize    Rec/key
1   2     4   unique  unsigned long              1024       1024          1
2   32    30  multip. text                      10240       1024          1
column Start Length Type
1     1     1                                         
2     2     4                                         
3     6     4                                         
4     10    1                                         
5     11    20                                        
6     31    1                                         
7     32    30                                        
8     62    35                                        
9     97    35                                        
10    132   35                                        
11    167   4                                         
12    171   16                                        
13    187   35                                        
14    222   4                                         
15    226   16                                        
16    242   20                                        
17    262   20                                        
18    282   20                                        
19    302   30                                        
20    332   4                                         
21    336   4                                         
22    340   1                                         
23    341   8                                         
24    349   8                                         
25    357   8                                         
26    365   2                                         
27    367   2                                         
28    369   4                                         
29    373   4                                         
30    377   1                                         
31    378   2                                         
32    380   8                                         
33    388   4                                         
34    392   4                                         
35    396   4                                         
36    400   4                                         
37    404   1                                         
38    405   4                                         
39    409   4                                         
40    413   4                                         
41    417   4                                         
42    421   4                                         
43    425   4                                         
44    429   20                                        
45    449   30                                        
46    479   1                                         
47    480   1                                         
48    481   79                                        
49    560   79                                        
50    639   79                                        
51    718   79                                        
52    797   8                                         
53    805   1                                         
54    806   1                                         
55    807   20                                        
56    827   4                                         
57    831   4
Compressing station.ISD: (1192 records)
- Calculating statistics
            
normal:     20  empty-space:      16  empty-zero:        12  empty-fill:  11
pre-space:   0  end-space:        12  intervall-fields:   5  zero:         7
Original trees:  57  After join: 17
- Compressing file
87.14%     
(/my/monty/tmp) ls -l station.*
-rw-rw-r--   1 monty    my         127874 Apr 17 19:00 station.ISD
-rw-rw-r--   1 monty    my          55296 Apr 17 19:04 station.ISM
-rw-rw-r--   1 monty    my           5767 Apr 17 19:00 station.frm
(my/monty/tmp) isamchk -dvv station
ISAM file:     station
Isam-version:  2
Creation time: 1996-03-13 10:08:58
Recover time:  1997-04-17 19:04:26
Data records:              1192  Deleted blocks:              0
Datafile: Parts:           1192  Deleted data:                0
Datafilepointer (bytes):      3  Keyfile pointer (bytes):     1
Max datafile length:   16777215  Max keyfile length:     131071
Recordlength:               834
Record format: Compressed
table description:
Key Start Len Index   Type                       Root  Blocksize    Rec/key
1   2     4   unique  unsigned long             10240       1024          1
2   32    30  multip. text                      54272       1024          1
Field Start Length Type                         Huff tree  Bits
1     1     1      constant                             1     0
2     2     4      zerofill(1)                          2     9
3     6     4      no zeros, zerofill(1)                2     9
4     10    1                                           3     9
5     11    20     table-lockup                         4     0
6     31    1                                           3     9
7     32    30     no endspace, not_always              5     9
8     62    35     no endspace, not_always, no empty    6     9
9     97    35     no empty                             7     9
10    132   35     no endspace, not_always, no empty    6     9
11    167   4      zerofill(1)                          2     9
12    171   16     no endspace, not_always, no empty    5     9
13    187   35     no endspace, not_always, no empty    6     9
14    222   4      zerofill(1)                          2     9
15    226   16     no endspace, not_always, no empty    5     9
16    242   20     no endspace, not_always              8     9
17    262   20     no endspace, no empty                8     9
18    282   20     no endspace, no empty                5     9
19    302   30     no endspace, no empty                6     9
20    332   4      allways zero                         2     9
21    336   4      allways zero                         2     9
22    340   1                                           3     9
23    341   8      table-lockup                         9     0
24    349   8      table-lockup                        10     0
25    357   8      allways zero                         2     9
26    365   2                                           2     9
27    367   2      no zeros, zerofill(1)                2     9
28    369   4      no zeros, zerofill(1)                2     9
29    373   4      table-lockup                        11     0
30    377   1                                           3     9
31    378   2      no zeros, zerofill(1)                2     9
32    380   8      no zeros                             2     9
33    388   4      allways zero                         2     9
34    392   4      table-lockup                        12     0
35    396   4      no zeros, zerofill(1)               13     9
36    400   4      no zeros, zerofill(1)                2     9
37    404   1                                           2     9
38    405   4      no zeros                             2     9
39    409   4      allways zero                         2     9
40    413   4      no zeros                             2     9
41    417   4      allways zero                         2     9
42    421   4      no zeros                             2     9
43    425   4      allways zero                         2     9
44    429   20     no empty                             3     9
45    449   30     no empty                             3     9
46    479   1                                          14     4
47    480   1                                          14     4
48    481   79     no endspace, no empty               15     9
49    560   79     no empty                             2     9
50    639   79     no empty                             2     9
51    718   79     no endspace                         16     9
52    797   8      no empty                             2     9
53    805   1                                          17     1
54    806   1                                           3     9
55    807   20     no empty                             3     9
56    827   4      no zeros, zerofill(2)                2     9
57    831   4      no zeros, zerofill(1)                2     9
Go to the first, previous, next, last section, table of contents.