���ߣ����� ([email protected]�� ��ҳ��http://aosp.me
��һ��, ǰһ��, ��һ��, ���һ����Ŀ¼.
mysqld
�������������Է���������Ϣ���ݿ�������Ӣ��(ȱʡ)����ɳ�������������������������Ų���
����mysqld
ʹ��һ���ض������ԣ�ʹ��һ��--language=lang
��-L
lang
ѡ����磺
shell> mysqld --language=swedish
��
shell> mysqld --language=/usr/local/share/swedish
ע�⣬�������Ե�������Сд��ĸָ����
�����ļ�λ��(ȱʡ��)'mysql_base_dir/share/LANGUAGE/'��
Ϊ�˸��´�����Ϣ�ļ�����Ӧ�ñ༭��errmsg.txt���ļ�����ִ����������������errmsg.sys���ļ���
shell> comp_err errmsg.txt errmsg.sys
�����������һ�����µ�MySQL�汾���ǵ�Ҫ�ٴ������ġ�errmsg.txt���ļ����и��¡�
ȱʡ�أ�MySQLʹ�� ISO-8859-1 ( Latin1 ) �ַ�������������������ŷʹ�õ��ַ�����
�ַ���������������������ʲô�ַ��������SELECT
����ORDER
BY
��GROUP BY
�Ӿ�����
ͨ����configure
��--with-charset=charset
ѡ�������ڱ���ʱ�ı��ַ�������4.7.1 ���ٰ�װ������
Ϊ�˰������ַ�������MySQL��ʹ�����й��̣�
MYSET
��ʾ�� ctype_MYSET
��to_lower_MYSET
�ȵȵ����֡�to_lower[]
��to_upper[]
�Ǽ����飬�����ַ���ÿ����Ա��Ӧ��Сд�ʹ�д�ַ������磺
to_lower['A'] should contain 'a' to_upper['a'] should contain 'A'
sort_order[]
��һ��ӳ�䣬ָ���ַ�Ϊ�˱ȽϺ�����Ŀ��Ӧ����ζ����������ַ���������to_upper[]
һ������ζ�������Դ�Сд)��MySQL������sort_order[character]
ֵ�����ַ���ctype[]
��һ��λֵ�����飬һ��Ԫ�ض�Ӧһ���ַ�����ע�⣬to_lower[]
��to_upper[]
��sort_order[]
���ַ����±꣬����ctype[]
���ַ�ֵ+1���±ꡣ����һ�����Ų��Ա��ܴ���EOF)
��������m_ctype.h���ҵ�����bitmask���壺
#define _U 01 /* Upper case */ #define _L 02 /* Lower case */ #define _N 04 /* Numeral (digit) */ #define _S 010 /* Spacing character */ #define _P 020 /* Punctuation */ #define _C 040 /* Control character */ #define _B 0100 /* Blank */ #define _X 0200 /* heXadecimal digit */
ÿ���ַ���ctype[]
�����Ӧ���������ַ������õ�λģ(bitmask)ֵ�����ϣ�union�������磬'A'
��һ����д�ַ�(_U
)
��ͬʱ��ʮ������λ(_X
)������ctype['A'+1]
Ӧ�ð���ֵ��
_U + _X = 01 + 0200 = 0201
configure.in
�е�CHARSETS_AVAILABLE
����
��������ڴ���һ�����ֽ��ַ����������ʹ��_MB
�ꡣ����include/m_ctype.h.in�������ӣ�
#define MY_CHARSET_MYSET X #if MY_CHARSET_CURRENT == MY_CHARSET_MYSET #define USE_MB #define USE_MB_IDENT #define ismbchar(p, end) (...) #define ismbhead(c) (...) #define mbcharlen(c) (...) #define MBMAXLEN N #endif
���
MY_CHARSET_MYSET |
һ��Ψһ���ַ���ֵ�� |
USE_MB |
����ַ����ж��ֽ��ַ�����ismbhead() ��mbcharlen() �������� |
USE_MB_IDENT |
����ѡ ) ������壬����ʹ�ö��ֽ��ַ��ı��������� |
ismbchar(p, e) |
���p ����һ�����ֽ��ַ��ַ���������0������������ǣ������ַ��Ĵ�С(�ֽ���)��p ��e ָ���ַ����Ŀ�ʼ�ͽ���������Ǵ�(char*)p ��(char*)e-1 ��
|
ismbhead(c) |
���c ��һ�����ֽ��ַ��ַ����ĵ�һ���ַ��������档 |
mbcharlen(c) |
���c ��һ�����ֽ��ַ����ĵ�һ���ַ������ظ��ַ����Ĵ�С�� |
MBMAXLEN |
���ַ���������ַ����ֽڴ�С�� |
����--log-update=file_name
ѡ������ʱ��mysqld
�����и������ݵ�SQL����д���¼�ļ��С��ļ���д������Ŀ¼������һ������file_name.#
������#
��һ�����֣�����ÿ��ִ��mysqladmin
refresh
��mysqladmin flush-logs
��FLUSH LOGS
��䡢������������ʱ��1��
�����ʹ��--log
��-l
ѡ�mysqld
��һ���ļ�����hostname.log��дһ��ͨ�õļ�¼�ļ��������������²�������һ���µļ�¼�ļ�����(���������رղ����ٴ�)��ȱʡ�أ�mysql.server
�ű���-l
ѡ������MySQL��������������������������п�ʼʹ��MySQLʱ������Ҫ��һЩ�����ܣ�����Դ�mysql.server
��ɾ��-l
ѡ�
���¼�¼�ܴ�������Ϊ���������������������ݵ���䡣���һ����WHERE
��UPDATE
��DELETE
�Ҳ����У����Ͳ���д���¼�ļ�������������������һ����Ϊ���Ѿ��е�ֵ��UPDATE
��䡣
�������Ҫ�Ӹ��¼�¼�ļ�����һ�����ݿ⣬�������������(������ĸ��¼�¼����file_name.#����ʽ������)��
shell> ls -1 -t -r file_name.[0-9]* | xargs cat | mysql
ls
����������ȷ�Ĵ���õ����еļ�¼�ļ���
����������һ��������ָ��������ļ���������Ҫ���������ڱ��ݺͱ���֮��ĸ��£�����Ժ����á�
������������������һ���������ݿⲢ������Ҫ���Ʊ���������ݿ���еĸı�ʱ����Ҳ����ʹ�ø��¼�¼��
MySQL 3.22 �ڱ���С����һ��4G�����ơ�ʹ����MySQL 3.23�е���MyISAM ���ı���С�ɴ�8���� TB(2^63���ֽ�)��
Ȼ��ע�⣬����ϵͳ���������ļ���С�����ơ���Linux�ϣ���ǰ��������2G����Solaris 2.5.1�ϣ�������4G����Solaris 2.6�ϣ�������1000G������ζ��MySQL���Ĵ�Сͨ���ɲ���ϵͳ���ơ�
ȱʡ�أ�MySQL�����ߴ��Լ4G�������SHOW TABLE
STATUS
�����myisamchk -dv table_name
���һ������������С����7.21 SHOW
�䷨(�õ������еȵ���Ϣ����
�������Ҫ���� 4G �ı�(������IJ���ϵͳ֧����)����Ӧ�����㴴����ʱ�趨AVG_ROW_LENGTH
��MAX_ROWS
��������7.7 CREATE TABLE
�����Ҳ����ALTER
TABLE
���Ժ�������Щ����7.8
ALTER TABLE
���
�����Ĵ��Ҫ���ֻ���������ʹ��myisampack
�ϲ����Ұ������ѹ����һ����myisampack
ͨ��ѹ��һ����������50%�����������У�ʵ���ϣ�����ı�����12.5 MySQLѹ����ֻ���ı���������
��һ���Ľ�������������ں�����MERGE�⣬�������㽫һ��������ͬ�ı��ļ�����Ϊһ�������������������������ͬ��ζ�����еı�����ͬ������Ϣ����)ĿǰMERGEֻ������ɨ��һ�������ϣ���Ϊ����֧�������������ڲ��õĽ������������ӽ�ȥ��
��MySQL��Ŀǰ(�汾 3.23.6)����������ֻ������ݿ����ʽ��ѡ���㴴��һ�ű�ʱ������Ը���MySQL��Ӧ�ö��ڱ�ʹ���ĸ������͡�MySQL�����Ǵ���һ��.frm
�ļ���������ж��塣�ӱ����Ͷ��������������ݽ��������ļ��д洢��
������ALTER TABLE
����ڲ�ͬ���͵ı�֮��任����7.8 ALTER TABLE
���
MyISAM
MyISAM
��ȱʡ�������ͣ����ǻ���ISAM
���벢���кܶ����õ���չ�������洢��һ����.MYI
��MYindex)��չ�����ļ��������ݴ洢����.MYD
��MYData)��չ�����ļ��С�������myisamchk
ʵ�ó�����/��MyISAM
������13.4 �Ա����ָ�ʹ��myisamchk
���������MyISAM
����ȫ�µģ�
INSERT
һ�����У��������̴߳ӱ������ڶ�ȡ��ͬʱ��
AUTO_INCREMENT
�е��ڲ�������MyISAM
���Զ�����INSERT/UPDATE
ʱ��������
AUTO_INCREMENT
ֵ������myisamchk
�������ã��⽫ʹ��AUTO_INCREMENT
�и����ٲ���ԭ�������������ϵ�ISAM����������ʹ�á�ע�⣬��һ��AUTO_INCREMENT
������һ���ಿ��ֵ(multi-part-key)�Ľ�βʱ����ʽ����Ϊ��Ȼ�Ǵ��ڡ�
BLOB
��TEXT
�п��Ա������� NULL
ֵ��ÿ����ռ0-1���ֽڡ� myisamchk
�Ϳ��ԷŴ�64��
MyISAM
��ʾ�����Ƿ���ȷ�����ϵ��ļ����⽫���ñ������Զ���������MySQL��������
myisamchk
����DZ�Ϊ�����ġ���myisamchk --fast
�����������Щû�������ǵı���
myisamchk -a
�洢��ֵ��ɲ��ֵ�ͳ��(��ֻ����ISAM
��������)��
myisampack
�ܽ���BLOB
��VARCHAR
�С� MyISAM
Ҳ֧�����ж�����MySQL�ڲ��õĽ�������ʹ�á�
VARCHAR
���ͣ�һ��VARCHAR
����2���ֽڴ洢�ij��ȿ�ʼ��
VARCHAR
�ı�����ʽ�̶���̬�ļ�¼���ȡ� VARCHAR
��CHAR
�������64K�ֽڡ����еĹؼ���Ƭ���������������Զ��壬�⽫ʹ��MySQLÿ���в�ͬ�����Զ��塣
UNIQUE
���⽫��������һ�����е��κ����������UNIQUE
���ԡ���Ȼ�����㲻������һ��UNIQUE
���������������Ҳ����ʹ�÷�����ISAM�������͡��⽫�ڲ�����ʧ����ΪMyISAM
��ͬһ�������ĸ���ʵ�֡�ISAMʹ��һ��B-tree
��������������洢��һ����.ISM
��չ�����ļ��в������ݴ洢����.ISD
��չ�����ļ��У������isamchk
ʵ�ó�����/��ISAM������13.4 ʹ��myisamchk
�ָ�������ISAM�����ǿ�OS/ƽ̨�����ƿ���ֲ�ġ�ISAM
����������/���ԣ�
HEAP
HEAP
����ʹ��һ���Ӵգ�hashed���������Ҵ洢���ڴ��С���ʹ���Ǹ��죬�������MySQL�������㽫ʧȥ���д洢�����ݡ�HEAP
��Ϊ��ʱ���ܿ��ã�
CREATE TABLE test TYPE=HEAP SELECT ip,SUM(downloads) as down FROM log_table GROUP BY ip; SELECT COUNT(ip),AVG(down) FROM test; DROP TABLE test;
����ʹ��HEAP
��ʱ����������Ӧ�ÿ��ǵ�һЩ���飺
CREATE
�����ָ��MAX_ROWS
�Ա�֤�����ⲻʹ�����е��ڴ档
=
��<=>
һ��ʹ�ã����Ǻܿ�)��
HEAP
��ʹ��һ���̶��ļ�¼���ȸ�ʽ�� HEAP
��֧��BLOB
/TEXT
�С� HEAP
��֧��AUTO_INCREMENT
�С� HEAP
��֧����һ��NULL
���ϵ������� HEAP
�����з�Ψһ��(�Ӵձ�һ�㲻����)�� HEAP
���������еĿͻ�֮�䱻����(�����κ������ı�)�� HEAP
����������С����䡣����100%��̬��(�ڲ���ʱ)������������Ͷ���ļ��ռ䡣ɾ�����з���һ�����ӱ����ҵ���������ݲ��뵽��ʱ���������ٴ�ʹ�á�
DELETE FROM heap_table
��DROP
TABLE heap_table
�� max_heap_table_size
���HEAP
����