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