mysql 데이타 베이스 명령어
정보 | 2007/06/24 13:27
| ############## mysql 데이타 베이스 명령어 ############## 작성자: w0rm9 (허접해도 이해해주기~) 1. mysql에 초기 접속하기 먼저, root 로 /usr/local/mysql/bin/mysql 에 접속한다. # mysql -u root mysql // 초기엔 mysql관리자 root(서버의 root가 아님!)의 패스워드가 등록되어 있지 않기 때문에 패스워드 없이 접속 할 수 있다. 2. mysql관리자 root 패스워드 설정 mysql을 설치하고 나면 mysql이라는 데이터베이스가 기본적으로 생성되어 있다. (show databases; 로 확인 ;-) 즉, mysql 관리용 데이타베이스라고 생각하면 된다. 즉, mysql관리자인 root도 이 데이터베이스의 user라는 테이블내에 등록되어 있다. root 패스워드 변경은 user라는 테이블에서 변경해주면 된다. mysql> update user set password = password('w0rm9') where user = 'root'; // root의 패스워드를 w0rm9 으로 설정했다. 그런 다음 exit; 명령어로 빠져나와서 데이터베이스를 재시작해준다. # mysqladmin -u root reload 다음 접속시 부터는 패스워드를 입력해야 한다. # mysql -u root -p Enter password: 패스워드 입력 3. mysql 새로운 사용자 계정 설정법 # mysql -u root -p Enter password: ....어쩌구 저쩌구....... mysql> use mysql; ....어쩌구 저쩌구....... Database changed // w0rm9이란 데이터베이스를 만들었다. mysql> create database w0rm9db; // mysql 데이터베이스의 user 테이블에 새로운 사용자를 생성한다. mysql> insert into user (host, user, password) values('localhost','w0rm9',password('1234')); 또는 mysql> insert into user values('localhost','w0rm9',password('1234'),'Y','Y','Y',Y''Y','N','N','N','N','N','N','N','N','N'); // user라는 테이블에 생성된 mysql사용자(w0rm9)가 입력되었는지 확인힌다. mysql> select * from user where user = 'w0rm9'; // db 테이블에 w0rm9사용자가 사용할 데이터베이스 연동시킨다. mysql> insert into db values('localhost','w0rm9db','w0rm9','y','y','y','y','y','y','y','y','y','y'); // db 테이블에 w0rm9db라는 db가 연동되었는지 확인한다. mysql> select * from db where db = 'w0rm9db'; // 생성된 데이터베이스를 확인한다. mysql> show databases; // 빠져나온다. mysql> exit // 새로운 사용자나 데이터베이스 생성 후에는 반드시 reload를 해줘야 적용된다. # mysqladmin -u root -p reload Enter password: -보안을 위한 일반사용자의 권한 설정- user에서 localhost, user, password만 빼고 나머지는 다 N db에서 localhost, Db, user 만 빼고 나머지는 다 Y 4. mysql 기존 데이터베이스 삭제 // 데이터베이스를 확인한 후 삭제한다. mysql> show databases; mysql> drop database w0rm9db; // 사용자를 삭제한다. mysql> delete from user where user='w0rm9'; mysql> delete from db where user='w0rm9'; 5. table 관련 명령어 // table 생성하기 mysql> create table table_w0rm9 ( -> name varchar(12), -> contents text -> ); mysql> show tables; +--------------------+ | Tables_in_babyhack | +--------------------+ | table_w0rm9 | +--------------------+ mysql> desc table_w0rm9; +---------+-----------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-----------------------+------+-----+---------+----------------+ | name | varchar(12) | | | | | |contents | text | | | | | +---------+-----------------------+------+-----+---------+----------------+ //table 삭제하기 mysql> drop table table_w0rm9; //table 이름 바꾸기 mysql> alter table old_w0rm9 rename new_w0rm9; // 필드 추가하기, varchar(40)이라는 타입의 homepage라는 필드가 추가된다. mysql> alter table table_w0rm9 add column homepage varchar(40); // 필드명 변경하기, 생성했던 homepage 필드를 age로 변경한다. 속성까지 변경 가능 mysql> alter table table_w0rm9 change column homepage age varchar(3); // 필드 삭제하기, 생성했던 homepage 필드가 삭제된다. mysql> alter table table_w0rm9 drop column homepage; // 데이터 추가하기, 내용 추가 후 확인 mysql> insert into table_w0rm9(name, contents, homepage) values('w0rm9','hacked by w0rm9', 'http://w0rm9.madnom.com'); mysql> select * from table_w0rm9; // 데이터 검색하기 mysql> select contents from table_w0rm9; // contents의 내용만 확인한다. mysql> select contents, name from table_w0rm9; // contents, name의 내용만 확인한다. mysql> select homepage from talbe_w0rm9 where name = 'w0rm9'; // name이 w0rm9의 homepage내용만 출력한다. mysql> select name from talbe_w0rm9 where name LIKE '%rm%'; // name에 rm이 포함된 name의 내용만 출력한다. // 데이터 수정하기 mysql> update talbe_w0rm9 set name = 'cracker' where homepage = 'http://w0rm9.madnom.com'; // 홈페이지가 http://w0rm9.madnom.com 인 레코드의 name을 cracker로 입력했다. // 데이터 삭제하기 mysql> delete from testtable where name = 'w0rm9'; // name가 w0rm9인 레코드를 삭제했다. 6. 그 밖의 명령어들 // 현재 데이터베이스 확인 mysql> show databases; // mysql이라는 데이터베이스를 작업대상 Db로 정함 mysql> use mysql; // 현재 액세스한 테이터베이스의 테이블 확인 mysql> show tables; // 테이블에 존재하는 모든 데이터 검색 mysql> select * from user; mysql> select * from db; // 특정 테이블의 필드구조 확인 mysql> show columns from user; mysql> desc user; 7. mysqladmin 사용법 // 데이터베이스 종료 # mysqladmin -u root -p shutdown // 데이터베이스 재시작 # mysqladmin -u root -p reload // 새로운 데이터베이스 생성 # mysqladmin -u root -p create w0rm9 // 기본의 데이터베이스 삭제 # mysqladmin -u root -p drop w0rm9 // root 패스워드 변경 # mysqladmin -u root -p password 1234 8, 백업과 복구 // w0rm9db라는 데이터베이스 백업하기 # mysqldump -u root -p w0rm9db > w0rm9db.bak.sql Enter password: // w0rm9db.bak.sql 백업베이터 복구하기 # mysql -u root -p w0rm9db < w0rm9db.bak.sql Enter password" 위와 같이 데이터베이스를 백업할때는 mysql이라는 데이터베이스도 함께 백업해 둔다. 어떤 데이터베이스가 있었나는 알 수 있기 때문이다. _eof_ //너무 오래되서 언제 작성했는지 기억도 안나는 글-.ㅡ; |
