개인 프로젝트를 진행하기 위해 구글 클라우드에 마리아디비를 설치하여 사용하려고 합니다.
기본적으로 구글 클라우드에 마리아디비가 설치되어 있다는 전재로 진행하겠습니다.
MariaDB 실행하기
sudo service mariadb start
MariaDB 접속하기
mysql -u [유저id] -p
ex) mysql -u root -p
해당 명령어를 친 다음에 비밀번호를 입력하면 됩니다.
마리아디비에 접속을 햇다면 접속한 사용자가 사용가능한 데이터베이스를 확인해봐야합니다.
사용자 데이터베이스 확인하기
show databases;
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| RECOVER_YOUR_DATA |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
현재 root계정으로 접속을 한 상태이므로 모든 데이터베이스가 보이지만 일반 유저로 접속을 햇다면 해당 유저에 권한이 잇는 데이터베이스만 보이게 될 것입니다.
데이터베이스 생성하기
CREATE DATABASE 데이터베이스명;
앞으로 만들 테이블과 데이터가 담길 데이터베이스를 생성합니다.
물론 root계정만으로 마리아디비는 얼마든지 사용할 수 있지만 아무래도 위험성이 존재하기 때문에 따로 유저를 만들어 진행을 해야합니다.
유저 확인하기
select user, host from mysql.user;
MariaDB [(none)]> select user, host from mysql.user;
+--------+-----------+
| user | host |
+--------+-----------+
| root | % |
| root | localhost |
+--------+-----------+
해당 쿼리를 보면 유저와 호스트를 mysql.user테이블에서 데이터를 불러오는데 mysql은 데이터베이스이고 user는 mysql 데이터베이스에 존재하는 테이블 이름입니다.
유저 생성하기
CREATE USER '아이디'@'%' IDENTIFIED BY '비밀번호';
중간에 보이는 '%'는 로컬 말고도 다른곳에서도 사용이 가능하단 의미이며 'localhost'는 해당 유저는 로컬에서만 접속이 가능하다는 의미입니다.
이제 앞으로 사용할 데이터베이스와 유저를 만들었다면 해당 유저에게 해당 데이터 베이스를 사용할수 있는 권한을 부여해야합니다.
데이터 베이스 사용 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스.* TO '아이디'@'%';
특정 데이터베이스의 모든 테이블 ( 데이터베이스.* )의 권한을 유저에게 부여하는 코드입니다. 여기선 호스트까지 일치해야 합니다.
적용하기
FLUSH PRIVILEGES;
여기까지 모두 완료했다면 새로고침을 해봅니다.
데이터베이스 접속하기
use 데이터베이스명;
이제 데이터베이스와 유저를 생성하고 권한을 부여해다면 다시 접속을 해봅니다.
마리아디비 접속끊기
EXIT;