ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySQL 명령어
    Data Base/MySQL 2007. 11. 22. 09:50

    MySql 명령어


    1. 기본 명령어


        //-- 데이터 베이스 리스트 보기
    mysql> Show Databases;
        //-- 데이터 베이스 사용하기
    mysql> Use Test;
        //-- 데이터 베이스 내의 테이블 보기
    mysql> Show Tables;

        //-- 데이터 베이스 생성하기

    mysql>create database tradementor;

        //-- 테이블 삭제 하기

    mysql> drop table testtable1;


    2. 사용자 등록 & 권한 설정 ( select, insert, update, delete, create, drop )


    - INSERT 구문사용하기 ( Root 권한으로 설정됨 )

    mysql>INSERT INTO user (Host, User, Pasword) VALUES('localhost', 'trade', PASSWORD('mentor'));


    mysql>INSERT INTO db VALUES('%', 'tradementor', 'trade', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
    mysql>FLUSH PRIVILEGES;

    mysql>GRANT ALL PRIVILEGES ON *.* TO 계정@'%' IDENTIFIED BT '패스워드';
    mysql>GRANT ALL PRIVILEGES ON *.* TO 계정@127.0.0.1 IDENTIFIED BY '패스워드';

    mysql>GRANT ALL PRIVILEGES ON db명.* TO 계정@localhost IDENTIFIED BY '패스워드';

    - GRANT 구문사용하기


     //- localhost 에서 trade사용자에게 모든 데이터베이스의 모든 권한생성 password : mentor
    mysql> grant all on *.* to 'trade'@'localhost' identified by 'mentor';
     //- localhost 에서 trade사용자에게 tradementor 데이터베이스의 모든 권한생성 password : mentor
    mysql> grant all on tradementor.* to 'trade'@'localhost' identified by 'mentor';
     //- localhost 에서 trade사용자에게 tradementor 데이터베이스의 select 권한생성 password : mentor
    mysql> grant select on tradementor.* to 'trade'@'localhost' identified by 'mentor';
     //- localhost 에서 trade사용자에게 tradementor 데이터베이스의 update 권한생성 password : mentor
    mysql> grant update on tradementor.* to 'trade'@'localhost' identified by 'mentor';
     //- localhost 에서 trade사용자에게 tradementor 데이터베이스의 select,update 권한생성 password : mentor
    mysql> grant select,update on tradementor.* to 'trade'@'localhost' identified by 'mentor';
    mysql> flush privileges;



    3. Mysql 원격 접속 설정


    - Mysql은 기본적으로 localhost용으로 셋팅되어 있어 리모트로 접속할경우 아래와 같이
      권한설정을 해줘야 한다..
    mysql> grant all privileges on DB명.* to 아이디@접속아이피 identified by '패스워드';
    mysql> flush privileges;


    전체 아이피에 대해 접속을 허용할경우 접속아이피 대신 '%' 로 설정한다.


    4. Root PassWord 분실시


    1. # killall mysqld

    2. #/usr/local/mysql/bin/mysqld_safe --skip_grant &   (패스워드 없이 접근이 가능하도록)

    3. # mysql

    4. mysql> connect mysql;    (root의 패스워드 수정할 때)

    5. mysql> update user set password=password('new-password') where user='root'

    6. mysql> flush privileges;

    7. mysql> quit;

    8. # killall mysqld

    9. #/usr/local/mysql/bin/mysqld_safe &


    5. backup


       mysqldump -uID -p (TABLE명 혹은 DB명) > 백업할 파일이름.sql
       // local 호스트가 아닌경우 호스트를 지정
       mysqldump -h192.168.11.10 -uID -p (TABLE명 혹은 DB명) > 백업할 파일이름.sql
       // 일반 port가 아닌 포트를 지정한 경우 socket 옵션
       mysqldump --socket=(소켓모듈) -uID -p (TABLE명 혹은 DB명) > 백업할 파일이름.sql
       // 테이블 구조만 백업받기
       mysqldump -h host -u user -ppassword -d database > script.sql


    6. restore


       mysql -hDB서버명 -u유저명 -p패스워드 [복구할 테이터베이스명] < [외부로 저장된 파일명]




    7. table schema 보기

    show coumns from member;
    describe member;
    desc member;

    테이블 구조 보기


    8. tables 보기

    show tables;


    9. 생성된 데이터베이스 보기

    show databases;


    10. 데이터 베이스 바꾸기

    use [database name];


    11. join

    select * from member as a, member_etc as b
    where a.memberid = b.memberid;

Designed by Tistory.