hololo 2020. 7. 29. 22:49

1. sudo 권한으로 mysql접속

mysql> sudo /usr/bin/mysql -root mysql

을 입력하면 sudo권한을 통과하기 위한 패스워드를 입력해야 한다.

 

 

통과하면 위와 같이 화면이 뜬다.

2. 사용자 추가

mysql> create user '사용자ID'@'localhost' identified by '패스워드';
ex) create user 'hololo'@'localhost' identified by 'tistory';

 

 

추가에 성공하면 다음과 같이 화면에 뜬다.

3. 데이터베이스 생성

mysql> create database 데이터베이스이름;
ex) create database hololo

 

 

추가에 성공하면 다음과 같이 화면에 뜬다.

4. 데이터베이스에 사용자 권한주기

mysql> grant all privileges on 데이터베이스이름(위에서 만들어준).* to '사용자ID'@'localhost';
ex) grant all privileges on hololo.* to 'hololo'@'localhost'; 

 

 

추가에 성공하면 위와 같은 화면이 뜬다.

 

이로써 등록된 사용자는 mysql을 사용할 수 있으며, 데이터베이스를 생성할 수 있다.

 

정리

sudo /usr/bin/mysql -uroot mysql
create user ‘userId’@‘localhost’ identified by ‘password’;
create database DBname;
grant all privileges on DBname.* to ‘userId’@‘localhost’;

라고 썼지만!!이렇게 하면 root에 database를 만들게 돼서 안된다!!!

그러므로 2번을 끝내고(3번 생략), 바로 4번에서 권한을 부여할 때,
mysql> grant all privileges on *.* to '사용자ID'@'localhost';
를 통해 사용자가 데이터베이스를 만들고, 지울 수 있도록 권한을 부여한다.

3번은 나중에 사용자가 알아서 하도록 나는 생략!!!

다시 정리(찐막)

sudo /usr/bin/mysql -uroot mysql
create user ‘userId’@‘localhost’ identified by ‘password’;
grant all privileges on *.* to ‘userId’@‘localhost’;

라고 생각했으나.....
위와 같이 데이터베이스를 따로 만들지 않고 작성하면...다른 계정에서 만든 데이터베이스도 다른 계정에서 마음대로 접근 가능하기때문에
결국 ‘다시 정리’부분처럼 하여 root에 데이터베이스들을 만들어주기로 했다...


mysql> sudo /usr/bin/mysql -root mysq