database
= 여러 사람들이 공유하여 사용할 목적으로 통합, 관리 하는 데이터의 집합체
(데이터가 모여있는 장소)
DBMS
DBMS (Database Management System)는 데이터베이스를 관리하기 위한 소프트웨어 시스템입니다. DBMS는 데이터베이스를 생성, 수정, 저장, 검색, 삭제, 보호하는 등의 기능을 제공합니다. 일반적으로 DBMS는 데이터베이스에 저장된 데이터를 사용자에게 제공하는데, 사용자는 DBMS를 통해 데이터를 조회, 수정, 삭제할 수 있습니다.
DBMS는 데이터베이스를 설계, 생성, 구축, 운영하는데 필요한 도구를 제공합니다. DBMS는 사용자들이 데이터베이스를 사용할 수 있도록 인터페이스를 제공하며, 데이터베이스를 안정적으로 운영하기 위해 데이터 보안, 백업, 복구 기능 등을 제공합니다.
여러가지 DBMS 중 가장 유명한 것으로는 MySQL, SQL Server, Oracle, PostgreSQL 등이 있습니다
명령 프롬프트 창에 아래 명령어를 치면
mysql -u root -p
enter password:
패스워드 입력란이 나오는데 mysql 설치 설정했던 비밀번호를 입력하면 root 계정에 접속할 수 있다.
show databases;
주의할 점은 show database에 s를 안치면 mysql syntax error가 뜬다.
create database dbname;
use database;
drop database dbname;
testdb 삭제 후 database 목록을 보면 testdb는 존재하지 않음을 알수 있다
사용자 정보는 mysql이라는 database에서 관리하므로 일단 mysql database로 이동 후 조회해야한다.
use mysql;
select host, user from user; # mysql db안에 user 테이블이 존재
user는
1.현재 pc에서만 접속 가능한 사용자 (localhost)
2.외부에서 접속 가능한 사용자로 나누어 생성할 수 있다. (%)
create user 'username'@'localhost' identified by 'password';
create user 'dorong'@'%' identified by 'password';
접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제해 주어야 함
drop user 'username'@'localhost'
drop user 'username'@'%'
한번에 한 쿼리만 입력이 가능하므로 한개씩 지워줘야함
권한 부여 = grant to
권한 부여 회수 = revoke from
사용자에게 부여된 모든 권한 목록을 확인
show grants for 'username'@'localhost';
현재 pc에 접속 가능한 noma에게 testdb의 모든 권한을 부여하기
grant all on testdb.* to 'noma'@'localhost';
사용자에게 특정 데이터 베이스의 모든 권한을 삭제
revoke all on dbname.* from 'username'@'localhost';