���ߣ����� ([email protected]�� ��ҳ��http://aosp.me
��һ��, ǰһ��, ��һ��, ���һ����Ŀ¼.
����ʹ��mysqlclient
�ͻ����������ͨ�ŵ�MySQL�ͻ�ʹ�����л���������
���� | ˵�� |
MYSQL_UNIX_PORT |
ȱʡ���֣���������localhost |
MYSQL_TCP_PORT |
ȱʡ TCP/IP �˿� |
MYSQL_PWD |
ȱʡ���� |
MYSQL_DEBUG |
����ʱ����-�ټ�ѡ�� |
TMPDIR |
��ʱ��/�ļ���������Ŀ¼ |
ʹ��MYSQL_PWD
�Dz���ȫ�ġ���6.3 ��MySQL������������
��mysql���ͻ�ʹ��MYSQL_HISTFILE
�����������������ļ���������������ʷ����ʷ�ļ���ȱʡֵ����$HOME/.mysql_history��������$HOME
��HOME
����������ֵ��
����MySQL����ȡ���ͬ��ѡ�Ȼ����ÿ��MySQL�����ṩһ��--help
ѡ������ʹ�����õ�����ͬѡ����������������磬��һ��mysql
--help
��
������һ��ѡ���ļ��������еı��ͻ������ȱʡѡ���4.15.4 ѡ���ļ���
�±�������MySQL����
myisamchk
myisamchk
������ܣ��������Լ����½�����������13 ά��MySQL��װ��
make_binary_release
ftp.tcx.se
��վ�ġ�/pub/mysql/Incoming���Է�������MySQL�û���
msql2mysql
mSQL
����MySQL�������ܴ������е���������ǵ�ת��ʱ��������һ������㡣
mysql
mysql
��һ����SQL���(����GNU readline
����)����֧�ֽ���ʽ�ͷǽ���ʽʹ�á���������ʹ��ʱ����ѯ�����ASCII���ĸ�ʽ����ʾ�����ǽ�����ʹ��ʱ(���磬��Ϊһ��������)��������Զ�λ���ָ��ĸ�ʽ��ʾ���������ʽ����ʹ��������ѡ��ı�)����Լ����������нű���
shell> mysql database < script.sql > output.tab
������ڿͻ��������ڴ治��������⣬ʹ��--quick
ѡ�����ʹmysql
ʹ��mysql_use_result()
����mysql_store_result()
������������ϡ�
mysqlaccess
mysqladmin
mysqladmin
Ҳ���Ա������ӷ����������汾�����̺�״̬��Ϣ����12.2 ����һ�� MySQL ��������mysqlbug
mysqld
mysqldump
mysqlimport
LOAD DATA INFILE
���ı��ļ���������Եı��С���12.4 ���ı��ļ����������� mysqlshow
mysql_install_db
replace
msql2mysql
ʹ�ã������и�һ��������ԡ�replace
�ı��ļ��л�������ϵ��ַ�����ʹ��һ̨����״̬������ƥ��������ַ������ܱ����������ַ��������磬��������ڸ������ļ��н���a
��b
��
shell> replace a b b a -- file1 file2 ...
safe_mysqld
mysqld
�ػ����̣����統һ��������ʱ���������������Ҽ�������ʱ����Ϣ��һ����־�ļ��С�
����ִ�й����Բ�������ǣ�
shell> mysqladmin [OPTIONS] command [command-option] command ...
ͨ��ִ��mysqladmin --help
������Եõ���mysqladmin
�İ汾��֧�ֵ�һ��ѡ���б���
Ŀǰmysqladmin
֧���������
create databasename | ����һ�������ݿ� |
drop databasename | ɾ��һ�����ݿ⼰�����б� |
extended-status | ������������һ����չ״̬��Ϣ |
flush-hosts | ϴ�����л�������� |
flush-logs | ϴ��������־ |
flush-tables | ϴ�����б� |
flush-privileges | �ٴ�װ����Ȩ��(ͬreload) |
kill id,id,... | ɱ��mysql�߳� |
password | �¿�����Ͽ����Ϊ�¿��� |
ping | ���mysqld�Ƿ���� |
processlist | ��ʾ�������л�Ծ�߳��б� |
reload | ������Ȩ�� |
refresh | ϴ�����б����رպʹ���־�ļ� |
shutdown | �ص������� |
status | �����������ļ��״̬��Ϣ |
variables | ��ӡ�����ñ��� |
version | �õ��������İ汾��Ϣ |
����������Ա�����Ϊ��Ψһ��ǰ�����磺
shell> mysqladmin proc stat +----+-------+-----------+----+-------------+------+-------+------+ | Id | User | Host | db | Command | Time | State | Info | +----+-------+-----------+----+-------------+------+-------+------+ | 6 | monty | localhost | | Processlist | 0 | | | +----+-------+-----------+----+-------------+------+-------+------+ Uptime: 10077 Threads: 1 Questions: 9 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 2 Memory in use: 1092K Max memory used: 1116K
mysqladmin status
��������������
Uptime | MySQL�������Ѿ����е����� |
Threads | ��Ծ�̣߳��ͻ��������� |
Questions | ��mysqld ���������Կͻ���������� |
Slow queries | �Ѿ�����long_query_time ��IJ�ѯ���� |
Opens | mysqld �Ѿ����˶��ٱ� |
Flush tables | flush ... , refresh ��reload �������� |
Open tables | ���ڱ��ı����� |
Memory in use | ��mysqld����ֱ�ӷ�����ڴ�(ֻ����MySQL��--with-debug����ʱ����) |
Max memory used | ��mysqld����ֱ�ӷ��������ڴ�(ֻ����MySQL��--with-debug����ʱ����) |
ʵ�ó���Ϊ���ݻ�Ϊ������ת�Ƶ������SQL���������㵹һ�����ݿ���������ݿ⡣�㵹������ ���������ʵ����SQL��䡣
shell> mysqldump [OPTIONS] database [tables]
����㲻�����κα����������ݿ⽫���㵹��
ͨ��ִ��mysqldump --help
�����ܵõ���mysqldump
�İ汾֧�ֵ�ѡ�����
ע�⣬���������mysqldump
û��--quick
��--opt
ѡ�mysqldump
�����㵹���ǰװ��������������ڴ��У�����������㵹һ��������ݿ⣬�⽫������һ�����⡣
mysqldump
֧������ѡ�
--add-locks
LOCK TABLES
����֮��UNLOCK TABLE
��(Ϊ��ʹ�ø���ز��뵽MySQL)��
--add-drop-table
create
���֮ǰ����һ��drop table
�� --allow-keywords
-c, --complete-insert
insert
���(��������)�� -C, --compress
--delayed
INSERT DELAYED
��������� -e, --extended-insert
INSERT
������������������Ҹ���IJ�����䣩-#, --debug[=option_string]
--help
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
-T
ѡ��һ��ʹ�ã���������Ӧ��LOAD DATA
INFILE
�Ӿ���ͬ�ĺ��塣��7.16
LOAD DATA INFILE
��� -F, --flush-logs
-f, --force,
-h, --host=..
localhost
��
-l, --lock-tables.
-t, --no-create-info
CREATE TABLE
��䣩-d, --no-data
--opt
--quick --add-drop-table --add-locks --extended-insert --lock-tables
��Ӧ�ø���Ϊ����һ��MySQL�������ľ����������㵹��
-pyour_pass, --password[=your_pass]
mysqldump
��Ҫ�����ն˵Ŀ��
-P port_num, --port=port_num
localhost
�������������Ϊ��ʹ��
Unix���֡���-q, --quick
mysql_use_result()
������
-S /path/to/socket, --socket=/path/to/socket
localhost
����ʱ������ȱʡ����)ʹ�õ������ļ��� -T, --tab=path-to-some-directory
table_name.sql
�ļ���������SQL
CREATE �����һ��table_name.txt
�ļ������������ݡ� ע������ֻ����mysqldump
������mysqld
�ػ��������е�ͬһ̨�����ϵ�ʱ��Ź�����.txt
�ļ��ĸ�ʽ����--fields-xxx
��--lines--xxx
ѡ��������
-u user_name, --user=user_name
-O var=option, --set-variable var=option
-v, --verbose
-V, --version
-w, --where='where-condition'
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
�����mysqldump
ʹ�ÿ��������������ݿ��һ�����ݣ�
mysqldump --opt database > backup-file.sql
����������������һ�����ݿ����Ϣ��ʵ����һ��MySQL���ݿ�Ҳ�����õģ�
mysqldump --opt database | mysql --host=remote-host -C database
mysqlimport
�ṩһ����LOAD DATA INFILE
SQL���������нӿڡ�mysqlimport
�Ĵ����ѡ��ֱ�Ӷ�Ӧ��LOAD
DATA INFILE
����ͬѡ���7.16
LOAD DATA INFILE
���
mysqlimport
���������ã�
shell> mysqlimport [options] filename ...
��������������������ÿ���ı��ļ���mysqlimport
��ȥ�ļ�������չ������ʹ���������ĸ��������ļ������ݡ����磬��Ϊ��patient.txt������patient.text������patient����ȫ����������Ϊpatient
��һ�����С�
mysqlimport
֧������ѡ�
-C, --compress
-#, --debug[=option_string]
-d, --delete
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
LOAD DATA INFILE
���Ӿ���ͬ�ĺ��塣��7.16 LOAD DATA INFILE
��� -f, --force
--force
������������ڣ�mysqlimport
�˳���
--help
-h host_name, --host=host_name
localhost
��
-i, --ignore
--replace
ѡ��������� -l, --lock-tables
-L, --local
localhost
(����ȱʡ����)���ı��ļ����ٶ��ڷ������ϡ�
-pyour_pass, --password[=your_pass]
mysqlimport
Ҫ�������ն˵Ŀ��
-P port_num, --port=port_num
localhost
�������������Ϊ��ʹ��Unix���֡���-r, --replace
--replace
��--ignore
ѡ����ƶ�������Ψһ��ֵ�����ظ������м�¼�����봦���������ָ��--replace
�����н���������ͬΨһ���Ĵ��ڵ��С������ָ��--ignore
������������Ψһ��ֵ�����ظ������м�¼������㲻ָ���κ�һ��ѡ����ҵ�һ���ظ��ļ�ֵ������һ���������ı��ļ����²��ֱ����ԡ�
-s, --silent
-S /path/to/socket, --socket=/path/to/socket
localhost
(����ȱʡ����)����ʱʹ�õ������ļ��� -u user_name, --user=user_name
-v, --verbose
-V, --version
������ʹ��mysqlimport
���е�һ��������
$ mysql --version mysql Ver 9.33 Distrib 3.22.25, for pc-linux-gnu (i686) $ uname -a Linux xxx.com 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown $ mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test $ ed a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q $ od -c imptest.txt 0000000 1 0 0 \t M a x S y d o w \n 1 0 0000020 1 \t C o u n t D r a c u l a \n 0000040 $ mysqlimport --local test imptest.txt test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 $ mysql -e 'SELECT * FROM imptest' test +------+---------------+ | id | n | +------+---------------+ | 100 | Max Sydow | | 101 | Count Dracula | +------+---------------+
myisampack
������ѹ��MyISAM������pack_isam
������ѹ��ISAM��������ISAM������̭���������ǽ�ֻ����myisampack
��
myisampack
�ǵ��㶩������10������֤����չ��֧��ʱ����õ���һ�������ʵ�ó�����Ϊ��Щ���Զ�������ʽ���ַ������ǽ���ijЩƽ̨�Ͽ��á�
�������ǽ�̸��myisampack
, ����ÿ�������pack_isam
Ҳ�dz��еġ�
myisampack
ͨ������ѹ�����е�ÿ��������������������ʱ����Ҫ��ѹ������Ϣ�������ڴ棬��ʹ���ڴ�ȡ������¼ʱ�ܵõ����õ����ܣ���Ϊ��ֻ��Ҫ��ѹ��һ����¼�����Ǹ���Ĵ��̿飬����
MSDOS��ʹ��Stackerʱһ����ͨ����myisampack
ѹ�������ļ�40%-70%��
MySQLʹ���ڴ�ӳ��(mmap()
)��ѹ�����϶����mmap()
��ʹ�ò����������ص������Ķ�/д�ļ���
��ǰmyisampack
��2�����ƣ�
myisampack
Ҳ��ѹ��BLOB
��TEXT
�С����ϵ�pack_isam
����������
������Щ�����������ǵ�TODO���ϣ����Ǿ��е����ȼ���
myisampack
���������ã�
shell> myisampack [options] filename ...
ÿ���ļ���Ӧ����һ������(��.MYI��) �ļ���������㲻�����ݿ�Ŀ¼�£���Ӧ��ָ���ļ���·����������ʡ����.MYI����չ����
myisampack
֧������ѡ�
-b, --backup
tbl_name.OLD
��-#, --debug=debug_options
debug_options
��������'d:t:o,filename'
��
-f, --force
myisampack
��ѹ����ʱ����һ����λ��tbl_name.TMD������ʱ�ļ��������ɱ��myisampack
����.TMD���ļ����ܱ�ɾ����ͨ�������myisampack
������tbl_name.TMD�����ڣ�����һ�������˳�����--force
��myisampack
����������ѹ������
-?, --help
-j big_tbl_name, --join=big_tbl_name
big_tbl_name
�С�����Ҫ���ϲ��ı���������ͬ��(ͬ���������ֺ����ͣ�ͬ�����������ȵȡ���-p #, --packlength=#
myisampack
��1��2��3�ֽڵij���ָ��洢�����С�����һ�������£�myisampack
������ʼ��װ�ļ���ǰ����ȷ����ȷ�ij���ֵ������������ע��ڰ�װ�����ڼ䣬����ʹ���˸��̵ij��ȡ�����������£�myisampack
����һ�����װͬ���ļ�ʱ���ӡ��һ����ʾ�������ʹ�ø��̵ļ�¼���ȡ���-s, --silent
-t, --test
-T dir_name, --tmp_dir=dir_name
-v, --verbose
-V, --version
-w, --wait
mysqld
��������--skip-locking
ѡ����ã�����������ڰ�װ�����б����£�����myisampack
����һ�������⡣������ʾ������˳��˵����һ�����͵ı�ѹ������ѹ�����̣�
shell> ls -l station.* -rw-rw-r-- 1 monty my 994128 Apr 17 19:00 station.MYD -rw-rw-r-- 1 monty my 53248 Apr 17 19:00 station.MYI -rw-rw-r-- 1 monty my 5767 Apr 17 19:00 station.frm shell> myisamchk -dvv station MyISAM 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 Datafile pointer (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 Field 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 shell> myisampack station.MYI Compressing station.MYI: (1192 records) - Calculating statistics normal: 20 empty-space: 16 empty-zero: 12 empty-fill: 11 pre-space: 0 end-space: 12 table-lookups: 5 zero: 7 Original trees: 57 After join: 17 - Compressing file 87.14% shell> ls -l station.* -rw-rw-r-- 1 monty my 127874 Apr 17 19:00 station.MYD -rw-rw-r-- 1 monty my 55296 Apr 17 19:04 station.MYI -rw-rw-r-- 1 monty my 5767 Apr 17 19:00 station.frm shell> myisamchk -dvv station MyISAM 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-lookup 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 always zero 2 9 21 336 4 always zero 2 9 22 340 1 3 9 23 341 8 table-lookup 9 0 24 349 8 table-lookup 10 0 25 357 8 always 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-lookup 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 always zero 2 9 34 392 4 table-lookup 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 always zero 2 9 40 413 4 no zeros 2 9 41 417 4 always zero 2 9 42 421 4 no zeros 2 9 43 425 4 always 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
��myisampack
��ӡ����Ϣ������������
normal
empty-space
empty-zero
empty-fill
INTEGER
�п��Ա��ı�ΪMEDIUMINT
)��
pre-space
end-space
table-lookup
ENUM
��
zero
Original trees
After join
��һ�ű���ѹ���Ժ�myisamchk -dvv
��ӡ��ÿ���ֶεĶ�����Ϣ��
Type
constant
no endspace
no endspace, not_always
no endspace, no empty
table-lookup
ENUM
�� zerofill(n)
n
λ����0���Ҳ����洢�� no zeros
always zero
Huff tree
Bits