프로그래밍/Database

MySQL 기본 명령어 - 데이터베이스 및 사용자 계정

미냐님 2020. 4. 6. 20:45
728x90

MySQL 기본 명령어 - 데이터베이스

  • 본 포스팅은 Windows를 기준으로 작성되었습니다

사용할 데이터베이스 지정하기

  • A. 로그인시 지정하기
    • Windows 프롬프트 상에서 사용
    • 명령어 : mysql –u계정 –p비밀번호 데이터베이스명
    •     mysql -uroot -p mysql
              
          또는
              
          mysql -uroot -p1234 mysql
      
  • B. 로그인 후 지정하기
    • MySQL 내의 “mysql>” 프롬프트 상에서 사용
    • 명령어 : use 데이터베이스명
    •   show databases;
            
        use mysql;
      

 

데이터베이스 및 테이블 리스트 보기

  • A. 데이터베이스 리스트 보기
    • 명령어 : show databases;
    •     show databases;
      
  • B. 테이블 리스트 보기
    • 데이터베이스를 선택한 후 사용
    • 명령어 : show tables;
    •     use mysql;
              
          show tables; 
      
  • C. 테이블 구조 살펴보기
    • 데이터베이스를 선택한 후 사용
    • 명령어 : desc 데이블명;
    •   use mysql;
              
        desc user;
      

 

데이터베이스 생성 및 삭제

  • A. 데이터베이스 생성
    • 명령어 : create database 데이터베이스명;
    •   show databases;
               
        create database testdatabase;
              
        show databases;
      
  • B. 데이터베이스 삭제
    • 명령어 : drop database 데이터베이스명;
    •      show databases;
                            
           drop database testdatabase;
               
           show databases;
      



MySQL 기본 명령어 - 사용자 계정

 

사용자 계정 만들기

  • A. 현재 등록되어 있는 계정 확인하기
    • mysql내의 user 테이블의 투플 확인
    • 조회하고자하는 속성을 지정
    • 명령어 : select 속성1, … , 속성n from user;
      • 전체 속성을 나타내기 위하여 * 사용
        • [참고]
          • localhost : 자기 자신의 컴퓨터
          • password
          • 암호화되어 저장됨
          • 암호화된 것을 풀수 있는 방법은 제공되지 않음
      •   use mysql;
                
          select host, user, password frm user;
        
  • B. 계정 만들기
    • 계정을 등록하는데 사용되는 테이블 : mysql 데이터베이스 내의 user와 db
    • 명령어
      • 비밀번호 없는 계정 만들기
        • CREATE USER ‘계정이름’@’localhost’;
        •   use mysql;
                     
            select host, user, password frm user;
                     
            create user 'kimc'@'localhost';
                     
            select host, user, password frm user;
          
  • C. 비밀번호를 가진 계정 만들기
    • CREATE USER ‘계정이름’@’localhost’ IDENTIFIED BY ‘비밀번호’;
    •     use mysql;
              
          select host, user, password frm user;
              
          create user 'kimc'@'localhost' identified by '1234';
              
          select host, user, password frm user;
      

 

사용자 계정에 권한 부여 및 삭제

  • A. 지정한 계정에 특정 데이터베이스 접근 권한 주기
    • (1) 주의 사항
      • root 계정에서만 사용자 계정의 데이터베이스 접근 권한을 줄 수 있음
      • 접근권한을 설정하기 전에는 데이터베이스에 접근 불가능
      • 접근 권한을 부여하지 않은 데이터베이스에는 접근할 수 없음
    • (2) 접근 권한 부여 전
        • kimc 계정에 testdatabase 데이터베이스 접근 권한 부여 전
          • 접근 가능한 데이터베이스 확인
        •   show databases;
          
    • (4) 접근 권한 부여 명령어
      • 명령어
        • 총 19개의 ‘y’
      •   insert into db values ( ‘localhost’, ‘데이터베이스명’, ‘계정’, ‘y’, ‘y’, ... ‘y’ );
        
    • (5) 시스템에 적용하기 전
      • kimc 계정에 로그인
      • 접근 가능한 데이터베이스 확인
        • 데이터베이스 사용 시도
      •   use testdatabase
        
    • (6) 변경된 설정 시스템에 적용하기
      • db에 추가된 권한은 시스템에 자동으로 적용되지 않음
      • 명령어 : flush privileges;
      •   flush privileges;
        

 

  • B. 계정의 권한 설정
    • user 테이블에 정의된 모든 권한을 계정에 부여
    • 모든 데이터베이스에 적용됨
    • 명령어
      • GRANT ALL PRIVILEGES ON * .* TO ‘계정’@‘localhost’ WITH GRANT OPTION;
      •   grant all privileges on * .* to 'kimc'@'localhost' with grant option;
        

 

계정 비밀번호 변경하기

  • 계정 비밀번호는 user 테이블에 암호화되어 저장되어 있다.
  • 비밀번호 변경은 user 테이블의 password 속성을 변경하는 것
  • 암호화시키기 위하여 password( ) 함수를 사용
    • (1) 계정의 비밀번호 변경
      • 명령어 : update user set password=password( ‘새비밀번호’ ) where user=’계정‘;
    • (2) 변경된 비밀번호로 계정에 로그인하기
      • 변경된 설정을 시스템에 적용하기
        • MySQL 내에서 flush privileges; 사용

 

계정 삭제하기

  • 계정 정보는 user 테이블에 있으며, 삭제할 계정의 레코드(투플)을 삭제
  • 명령어 : drop user ‘계정’@‘localhost’;
  •   drop user 'kimc'@'localhost';
728x90