MySQL. Most popular OpenSource RelationalDatabase Management system

http://www.mysql.com http://sourceforge.net/projects/mysql/

예전에 NASA에서 그네들의 DB시스템을 [Oracle]에서 MySql로 바꾸었단 얘기가 있다. 10만레코드(맞나?)이하의 데이터에서 가장 빠른 속도를 낸다고 함

ApmModPythonInstallInLinux페이지에 가면, 기본적인 설치방법들이 소개되어 있다. [Python]으로 연동하여 쓸려면, MySqlDb모듈을 추가로 설치해야 한다.


mysql 5.0 version 이 나와있다. 중첩쿼리문을 4.1 version 부터 사용할 수 있게 되었으며, Views, StoredProcedures, Cursors 같은 새로운 기능이 들어갔고, BIT 라는 새로운 Numerical type 이 생겼다.

기본 설치

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root  .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

사용자 추가 방법

명령어를 이용해서 추가 하기

localhost 에서 사용할 수 있는 사용자 추가

mysql> GRANT ALL PRIVILEGES on chap11.* to 'ID'@'localhost' identified by 'PASSWORD';

외부에서 사용할 수 있는 사용자 추가

mysql> GRANT ALL PRIVILEGES on chap11.* to 'ID'@'%' identified by 'PASSWORD';

Table에 직접 넣기

  • 1. root 권한으로 mysql을 실행한다.
  • 2. use mysql;
  • 3. update user set host='%' where user = 'destine'; ( 원래 host는 localhost로 되어 있을텐데 어느 곳에서나 접속 할 수 있게 %로 바꿔준다. )
  • 4. update db set host='%' where user = 'destine'; ( 위와 마찬가지 )
  • 5. flush privileges;

기본 명령어들

  • show databases
  • show tables
  • show index from [table name]
  • describe tablename

각종 정보

가끔 테이블이 깨지는 경우가 발생할 수 있다. 약 1년에 한두번 발생한다고... [http://www.linux.co.kr/tips/content.html?msg_id=1341 참고]

Can't open file: 'xxxxxx.MYD'.(errno: 145)

# cd /var/lib/mysql/mysql
# myisamchk -r xxxxxx.*   # -r : recovery, -o : safe recovery, -f : force 


CategoryProgram

web biohackers.net