320x100
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이라는 데이터베이스도 함께 백업해 둔다.
어떤 데이터베이스가 있었나는 알 수 있기 때문이다.
320x100
'Linux' 카테고리의 다른 글
NIS 관련 (0) | 2010.11.25 |
---|---|
SH키를 이용한 RSYNC 백업법 (0) | 2010.11.24 |
NIS 서버 및 클라이언트의 설정 및 관리 (1) | 2010.11.22 |
MySQL 에러 (5) | 2010.11.22 |
Mount (0) | 2010.11.19 |