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

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

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


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


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

19.1 ���ݿ⸴��

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

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

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

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

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

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

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

  • DATABASE()
  • GET_LOCK()��RELEASE_LOCK()
  • RAND()
  • USER(), SYSTEM_USER()��SESSION_USER()
  • VERSION()

���е�ʱ�亯���ɰ�ȫ��ʹ�ã����������Ҫ��ʱ����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������ʱ�������ʹ�����з���֮һ��

  • ��--host 'hostname' --port=port_numer��[--host localhost] --socket=file_name�����ͻ���
  • �����C��Perl�����У�������MySQL������ʱ������Ը����˿ں��׽��ֲ�����
  • ���������ͻ�����֮ǰ������MYSQL_UNIX_PORT��MYSQL_TCP_PORT����������ָ��Unix�׽��ֺ�TCP/IP�Ķ˿ڡ������ͨ��ʹ��һ���ض����׽��ֻ�˿ڣ���Ӧ�ý�������Щ��������������Ž������.login���ļ��С���12.1 ��ͬ�� MySQL���������
  • �������Ŀ¼�µġ�.my.cnf���ļ���ָ��ȱʡ�׽��ֺ�TCP/IP�˿ڡ���4.15.4 ѡ���ļ���

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

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