MySQL 사용법


// 자기컴에서는 DOS 로 접속 : 시작 > 실행 > command enter
// cd .. : 상위 폴더로 이동(cd 한칸띄우고 ..) cd : 최상위 폴더로 이동
// c:/apm/server/mysql 과 c:/apm/server/mysql/bin/mysql 을 구별.
//앞의 mysql 은 폴더이고 뒤의 mysql 은 명령어임.

<유료계정에서의 텔넷="" 접속="">

//유료계정의 텔넷으로 접속한 mysql 실행경로는 자기컴과 다름.
유료계정의 텔넷접속 : 시작 > 실행 > telnet > open > 대상에 yop.wo.to enter
로그인후 : [[email protected] yop]$ 여기서 바로 mysql 명령어 사용가능.백업,복구 등.
유료계정에서는 mysql 로 이동하는 절차가 필요없음. 리눅스에서 mysql 의 경로를 path 에 등록 시켜놓았으므로..
최상위 폴더에서 바로 mysql 명령어 사용 가능.

<내컴에서 mysql="" 로="" 이동="">

//mysql 폴더로 이동 : c:>cd apm cd:apm>cd server c:apmserver>cd mysql c:apmservermysql>

//bin 으로 이동 : c:apmservermysql>cd bin c:apmservermysqlbin>

//디렉토리보기 : c:apmservermysqlbin>dir

//mysql 로 접속 : c:apmservermysqlbin>mysql mysql>
mysql>use aaa //aaa 라는 디비로 접속.

//mysql 접속 두번째 방법: c:apmservermysqlbin>mysql aaa aaa> //aaa라는 디비로 바로 접속.
c:apmservermysqlbin>mysql mysql mysql> //mysql 디비로 바로 접속.

<유료계정에서의 cgi="" 게시판으로="" 이동-yop.wo.to="" 의="" 경우="">

//[[email protected] yop]$cd public_html
//[[email protected] public_html]$cd zboard
//[[email protected] zboard]$

<유료계정에서의 mysql="" 접속="">

//[[email protected] yop]$ mysql -uyop -p yop
Enter password :

<디비 사용="">

//디비 보기 : mysql>show databases; //bin 아래의 mysql
초기 mysql 의 디비중 mysql 이라는 디비는 mysql 서버에 저장되어있는 모든 디비의 권한설정을
담고 있는 디비 즉,마스터 디비 이다.

mysql 디비의 테이블중 user 테이블에서 설정한 권한은 mysql 서버에 저장되어 있는 모든 디비에 적용됨.
mysql 디비의 테이블중 Reload_priv,Shutdown_priv 가 Y 이면 mysql 서버 재기동,종료권한가짐.
mysql 디비의 테이블중 Create_priv,Drop_priv 값이 Y 이면 새로운 테이블,생성,삭제 권한 가짐.
mysql 디비의 테이블중 db 테이블은 사용자의 개별권한 설정 ‘Y’ ‘N’

//해당 디비 사용 :mysql>use mydql //mysql 디비를 사용하겠다는뜻.

//해당 디비의 테이블 보기 : mysql>show tables;
//테이블 구조 정보보기 : mysql>desc db; //테이블중 db 테이블의 구조 정보를 출력하란뜻.
show tables;를 거치지 않고 mysql> 에서 바로해도됨.

//테이블 구조 정보보기 두번째 예 : mysql>desc user; //테이블중 usere 테이블의 구조정보를 출력하란뜻.
필요한 구조 정보만 보기 : user 테이블안의 구조정보가 너무 많을경우 필요한 구조 정보만 뽑아서 볼려면..
mysql>select host,user,password from user; 하면 host ,user,password 만 나타남.

<디비 생성과="" 삭제="">

//디비 생성 : mysql>create database ddd; //ddd 라는 디비 생성.
//디비 생성 두번째 방법 : bin>mysqladmin create ddd // 뒤에 ; 붙이면 안됨 ,붙일경우 ;가 이름에 포함.
또는 : bin>mysqladmin -uroot -p create ddd
이방법은 mysql client 를 사용하지 않고도 명령어만으로 디비 생성하는법.

//디비 삭제 : mysql>drop database ddd; //ddd 라는 디비가 지워짐.

//상식 : mysql 이라는 디비가 생성되면 mysql 디렉토리밑의 data 디렉토리밑에 새로 생성된 디비명과
동일한 이름의 하위 디렉토리가 만들어진다.

<디비 백업과="" 복구="">

//디비의 백업과 복구는 bin 에서 함.
//유료계정은 계정마다 차이가 있으나 계정 가장 상위폴더에서 함.
(예 : [[email protected] yop]$mysqldump -uyop -p yop > aaa.sql )
//이하 내컴 서버 기준 설명.

//백업 : bin>mysqldump -uroot -p zboard > zzz.sql //zboard 라는 디비를 zzz.sql 이라는 파일로 저장.
백업 파일은 bin 폴더 안에 생김.
//복구 : bin>mysql -uroot -p jsboard < zzz.sql //zzz.sql 이라는 백업 파일을 jsboard라는 디비로 복구.
복구시 첨부파일은 data 폴더안에 복구 data -> data 로 덮어씌우기 함.
복구할 파일을 미리 bin 폴더안에 넣어두어야 됨.

<유료계정에서의 백업과="" 복구="">

//백업 : [[email protected] yop]$mysqldump -uyop -p yop > aaa.sql
생성되는 위치 yop 계정의 최상위 폴더에 생성됨
Mail
mysql_yop
public_html
과 나란히 ..

//복구 :
먼저 aaa.sql 을 위의 최상위 폴더로 이동시킨후.
[[email protected] yop]$mysql -uyop -p yop < aaa.sql

####

<유료계정에서의 모드변경="">

//주의 : 유료계정의 복구시 data 폴더도 같이 복구 하여야 되나 data 폴더는 ftp 에서 mode 변경이 안되어서 다운이
안되므로
Warning: chmod() [function.chmod]: No such file or directory in /home/hosting_users/sink2/www/home/archives/000048.html on line 226
를 mode.php 로 zboard 폴더안에 ftp 로 올리고 http://yop.wo.to/zboard/mode.php로
불러오면 data 폴더의 모드바뀜.이후 다운 가능. 하위폴더까지 모두 변경위해서는

Warning: chmod() [function.chmod]: No such file or directory in /home/hosting_users/sink2/www/home/archives/000048.html on line 228
하면됨.

<유료계정에서의 모드확인="">

[[email protected] yop]$cd public_html
[[email protected] public_html]$cd zboard
[[email protected] zboard]$ ls -al //zboard 안의 모든 폴더의 모드 보임.
[[email protected] zboard]$ ls -al data //zboard 안의 data 파일안의 모드만 보임.
[[email protected] zboard]$cd data
[[email protected] data]$ ls -al //마찬가지.

<비밀번호 변경="" 또는="" 비번="" 잊었을때="">1.mysql>use mysql 또는 bin>mysql mysql // 같은 방법.

2.mysql>update user set password=password(‘1111′) where user=’root’; //비밀번호 1111 로 변경됨.
mysql>update user set password=password(”) where user=’root’; //비밀번호 없는걸로 변경됨.

//두번째 방법 :
mysql>update user
->set password=password(‘1111’)
->where user=’root’ ;

3.mysql>q
4.bin>mysqladmin reload //이렇게 하면 변경됨.
5.bin>mysql -uroot -p
password : 바뀐비번으로 접속.

6.참고
bin>mysqladmin -uroot -p reload //p 에는 기존비번.
bin>mysqladmin -uroot reload //기존비번이 없는경우.

<주의–유료계정에서의 비밀번호 변경>
유료계정에서 디비의 비번 변경한경우 위와 같은 방법으로 하나..변경후
zboard 의 config.php 안의(세군데) 비번도 같은걸로 변경해줘야 제로보드 사용가능함.

<계정나눠주기 — 사용자 아이디와 비번추가>

//bin>mysql mysql;
또는 bin>mysql mysql>use mysql //끝에 ; 없어도 됨.

//mysql>grant all privileges on aaa.* to [email protected] identified by ‘1234’ with grant option;
//aaa 는 디비명(미리만들어두어야됨) chansu 는 사용자 아이디 1234 는 사용자 비밀번호.
또는 대문자로 아래와 같이
mysql>GRANT ALL PRIVILEGES ON board.* TO [email protected] IDENTIFIED BY ‘0000’ WITH GRANT OPTION;

//위와 같이 하면 aaa 라는 디비는 아이디 chansu 그리고 board 라는 디비는 아이디 nado 라는 사용자만
사용할 수 있음.

//확인 .. 1.mysql>use mysql
초기 mysql 의 디비중 mysql 이라는 디비는 mysql 서버에 저장되어있는 모든 디비의 권한설정을
담고 있는 디비 즉,마스터 디비 이다. root 도 여기 등록됨.

2.mysql>select * from user;
또는 mysql>select host,user,password from user;

<사용자 삭제="">

//mysql>use mysql
mysql>delete from user where user=’chansu’;

<사용자 등록의 다른 방법.. 세부설정 가능 ‘Y’,’N’)

1.db 에 등록

mysql>insert into db values(‘%’,’aaa’,’chansu’,”Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
//Y 의 개수는 db 안의 개수와 같아야됨.
2.확인 :
mysql>select * from db;
3.소유자 등록(pass)
mysql>insert into user(host,user,password)
->values(‘localhost’,’chansu’,’password(‘1234’));
4.확인 :
mysql>select * from user;

//아래와 같이해도됨.
mysql>insert into db
->values(‘%’,’aaa’,’chansu’,
->’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’)
-> ;

mysql>insert into user
->(host,user,password)
->values(‘localhost’,’chansu’,’password(‘1234’))
-> ;

<테이블생성>

예) aaa 디비안에 생성

1.이동
mysql>use aaa

2.생성
mysql>create table ttt(
->name CHAR(8),
->id VARCHAR(10) NOT NULL,
->email VARCHA(40),
->sex CHAR(1),
->milage INT,
->level CHAR(1),
->PRIMARY KEY(id)
->);

3.확인
mysql>desc ttt;

4.테이블 삭제
mysql>drop table ttt;

//테이블 생성 두번째 방법

1.다음을 test.sql 로 저장

create table ttt(
name CHAR(8),
email VARCHA(40),
sex CHAR(1),
milage INT,
level CHAR(1),
PRIMARY KEY(id)
);

2.bin>mysql -uchansu -p1234 aaa < test.sql

5.테이블 수정.
mysql>use test;
mysql>update member set level=’7′ where name=’a사용자’;

member 은 테이블이름 level 은 필드명 a 사용자는 이름.

기타 응용해볼것.