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


��һ��, ǰһ��, ��һ��, ����һ��


19 ��MySQL����һЩ��������

19.1 ���ݿ⸴��

һ���渴�ƿ����������ӽ�׳�Ժ��ٶȡ��Խ�׳�ԣ�����2��ϵͳ�����������������⣬�л������ݼ��ɡ��������ٶ�ͨ���ѷǸ��²�ѯ��һ�����͵����Ʒ��������ﵽ����Ȼ����ֻ�ڷǸ��²�ѯΪ��ʱ���ã�����������һ�������Ρ�

һ���渴�Ƽƻ��ڲ��õ�δ��ʵ�֡��⽫��ʵ�֣�ʹ�ôӷ��������Խϵ����ȼ��ĸ��º��ӳٲ��뱻ͬ������������(�⽫�������Ա�д�߸��ߵ����ȼ�)��

MySQL(����)û�����ݿ⸴�ƣ�������һЩ����ʵ�ֵ���Ϣ��

����һ�����ݿ���һ���ķ�����ʹ�ø�����־����9.2 ������־����Ҫ���䵱һ�������ݿ�(�������ݸı���)������һ���������䵱�����ݿ⡣Ҫ����һ�������ݿ⣬ֻҪ����mysql < update_log���ṩ���ڴ����ݿ��ʵ����������û��Ϳ���ѡ����ҽ������ݿ��ĸ�����־��Ϊ���롣

��������δ��һ�ű���ɾ���κζ�����������ʹ��һ��TIMESTAMP���ҳ�����һ�θ�������(ͨ���Ƚ������ϴ������Ƶ�ʱ�䣩�����ĸ��б������ͱ��ı䣬�ҽ�������Щ�е������С�

�п���ʹ�ø�����־(��ɾ��)��ʱ�����ǣ������ˣ�����һ��˫������ϵͳͳ�����������������£���ͬһ���������˱��ı�ʱ���������ܴ�����ͻ���������뱣�־ɰ汾�԰�������ʲô�������ˡ�

��Ϊ�����������и�����SQL�������У��㲻Ӧ���ڸ������ݿ���������ʹ�����к��������Dz��ܷ�����ԭ���ݿ���ͬ��ֵ��

���е�ʱ�亯���ɰ�ȫ��ʹ�ã�����������Ҫ��ʱ�����DZ��͵�������LAST_INSERT_ID()Ҳ�ɰ�ȫ��ʹ�á�

19.2 ���ݿⱸ��

��ΪMySQL����Ϊ�ļ��洢����һ�����������׵ġ�Ϊ�˵õ�һ��һ�µı��ݣ������صı�����һ��LOCK TABLES����7.24 LOCK TABLES/UNLOCK TABLES�䷨����ֻ��һ�������������������ݿ�Ŀ¼�����ļ���һ������ʱ�������������̼߳�����ѯ�ñ�����������Ҫ��һ��SQL���ı��ݣ�������SELECT INTO OUTFILE��

����һ�����ݿ�����һ��������ʹ��mysqldump������

  1. Ϊ�������ݿ���һ�������ı��ݣ�
    shell> mysqldump --tab=/path/to/some/dir --opt --full
    

    ��Ҳ���Լ򵥵ؿ������еı��ļ�(��*.frm������*.MYD������*.MYI���ļ�)��ֻҪ���������ڸ����κζ�����

  2. ֹͣmysqld�������������У�Ȼ����--log-updateѡ�����������㽫�õ�һ����Ϊ��hostname.n����ʽ����־�ļ��� ����n��������ÿ��ִ��mysqladmin refresh��mysqladmin flush-logs��FLUSH LOGS���䡢��������������������һ�����֡���Щ��־�ļ������ṩ������ִ��mysqldump���������еĸ������ݿ��ı���������Ϣ��

�����������ָ�һЩ����������������myisamchk -r�ָ����ı�����Ӧ�ô�������������99.9%������myisamchkʧ�ܣ��������й��̣�

  1. �ָ�ԭ����mysqldump���ݡ�
  2. ִ�������������ٴ����и�����־�еĸ��ģ�
    shell> ls -1 -t -r hostname.[0-9]* | xargs cat | mysql
    

ls����������ȷ��˳���õ����е���־�ļ���

��Ҳ������SELECT * INTO OUTFILE 'file_name' FROM tbl_name����ѡ���ı��ݲ�����LOAD DATA INFILE 'file_name' REPLACE ...�ָ���Ϊ�˱����ظ���¼���ڱ�������Ҫһ��PRIMARY KEY��UNIQUE��������Ψһ��ֵ��һ���¼�¼��һ���ϼ�¼�ظ�ʱ��REPLACE�ؼ���ʹ���ϼ�¼��һ���¼�¼������

19.3 ��ͬһ̨���������ж���MySQL������

��Щ��������������Ҫ��ͬһ̨���������ж��������������磬��������Ҫ����һ���µ�MySQL�汾��������������ϵͳ�����ò��ܵ����ţ�������������ҪΪ��ͬ�Ŀͻ��ṩ������MySQL��װһ��������������Ӧ�̡�

��������Ҫ���ж����������������׵ķ������ò�ͬ��TCP/IP�˿ں��׽����ļ����±������������������Dz�������ͬһ��TCP/IP�˿ڻ��׽��֡�

����һ���ִ�����������Ϊȱʡ�˿ںź��׽����ļ�����ô��һ��������configure�����������µķ�������

shell> ./configure  --with-tcp-port=port_number \
             --with-unix-socket=file_name \
             --prefix=/usr/local/mysql-3.22.9

����port_number��file_nameӦ�ò�ͬ��ȱʡ�˿ںź��׽����ļ�·����������--prefixֵӦ��ָ��һ����ͬ���ִ���MySQL��װ���ڵİ�װĿ¼��

�����������������������κε�ǰִ�е�MySQL��ʹ�õ��׽��ֺͶ˿ڣ�

shell> mysqladmin -h hostname --port=port_number variables

��������һ��MySQL����������������ʹ���˵Ķ˿��ϣ��㽫�õ�MySQL��һЩ����Ҫ�Ŀ����ñ�����һ�ű��������׽������ȡ�

��ҲӦ�ñ༭�������ij�ʼ���ű�(�����ǡ�mysql.server��)��������ɱ������mysqld��������

�㲻�����±���һ����MySQL��������ֻҪ��һ����ͬ�Ķ˿ں��׽����������ɡ�������ͨ��ָ��������ʱsafe_mysqldʹ�õ�ѡ�����ı��˿ں��׽��֣�

shell> /path/to/safe_mysqld --socket=file_name --port=port_number

���������뿪����־����һ����������ͬ��һ�����ݿ�Ŀ¼�������·���������ҲӦ����safe_mysqld��--log��--log-updateѡ����ָ����־�ļ������֣���������������������������ͼд��ͬһ����־�ļ���

������ͨ��������Ӧ������ͬһ�����ݿ��и������ݵ�2������������������OS��֧���޹���(fault-free)��ϵͳ�����������ܵ������˾��ȵ����鷢����

��������ҪΪ�ڶ���������ʹ����һ�����ݿ�Ŀ¼��������ʹ��safe_mysqld��--datadir=pathѡ�

������Ҫ����һ���������е�ʹ��һ����ͬ�ڱ��������Ŀͻ������ж˿ڵ�MySQL������ʱ��������ʹ�����з���֮һ��


��һ��, ǰһ��, ��һ��, ����һ��