서버/AWS (Amazon Web Services)

Amazon Lightsail 여러개의 워드프레스 사이트 설치 (7) - MySQL 워드프레스 DB설정

날개 2017. 11. 6. 01:18

이제 아마존 리눅스에 설치된 MySQL에서 4개의 사이트들(두개의 각각 두개씩의 언어를 가진 사이트들)을 위해 워드프레스가 사용할 DB를 생성해 보도록 합니다.


사실 DB를 하나만 생성해서 여러개의 워드프레스 사이트가 사용하도록 할 수도 있습니다. 워드프레스를 설치할 때, DB 테이블 앞의 Prefix 부분에 붙일 텍스트를 바꾸어 주기만 하면 됩니다. 보통 웹호스팅과 같이 DB를 직접 컨트롤 할 수 없는 경우에 많이 사용하는 방법입니다.


하지만, 이런 경우에 나중에 다른 DB로 분리하고 싶으면 일이 더 많아 지겠죠. 또한 같은 DB를 사용하므로 비교적 보안상으로도 좋지 못할 것입니다.


여기서는 어차피 아마존 라이트세일 (Amazon Lightsail) 을 사용하므로 MySQL도 직접 설치 하였습니다. 따라서 온전히 MySQL을 직접 컨트롤 할 수 있기 때문에 각 사이트별로 분리된 DB를 만들어 보겠습니다.


먼저 터미널상에서 서버에 접속헤 MySQL 클라이언트를 실행 합니다.


$ mysql -u root -p



첫번째 minthands.com/kr에 설치할 워드프레스를 위한 DB를 생성합니다.


CREATE DATABASE <첫번째 DB 이름>;


위에서 생성한 DB에 접속할 유저 계정을 생성하고 패스워드를 지정합니다.

이렇게 해당 DB용으로 유저 계정을 생성하면, 루트 계정을 사용하는 것보다 보안에서 유리하게 됩니다.


CREATE USER <첫번째 DB 유저명>@localhost;

SET PASSWORD FOR <첫번째 DB 유저명>@localhost= PASSWORD("<사용할 패스워드>");


생성한 유저 계정일 위에서 생성한 DB에 대한 모든 권한을 갖도록 설정합니다.


GRANT ALL PRIVILEGES ON <첫번쨰 DB 이름>.* TO <첫번째 DB 유저명>@localhost IDENTIFIED BY '<첫번째 DB 유저의 패스워드>';



위에서 작업한 것들이 MySQL에 적용되도록 합니다.


FLUSH PRIVILEGES;



예를 들어, 첫번째 DB의 이름을 firstDB, 유저 이름을 firstDBUser, 유저 비밀번호를 abcd1234 라고 가정하면, 아래와 같은 과정으로 DB와 유저를 생성 할 수 있습니다.


mysql> CREATE DATABASE firstDB;


mysql> SHOW DATABASES;


mysql> CREATE USER firstDBUser@localhost;


mysql> SET PASSWORD FOR firstDBUser@localhost= PASSWORD("abcd1234");


mysql> GRANT ALL PRIVILEGES ON firstDB.* TO firstDBUser@localhost IDENTIFIED BY 'abcd1234';


mysql> FLUSH PRIVILEGES;



위의 과정에서 DB 이름과 유저이름을 달리하여 minthands.com/en 과 platcube.com/kr, platcube.com/en 을 위한 DB와 유저를 만듭니다. 

(물론, 여기에서 minthands.com, platcube.com 등은 필자가 운영하는 사이트의 도메인이므로 실제로 적용할 때는 본인이 가지고 있는 도메인을 이용해 적절히 응용 해야 합니다.)


4개의 DB와 4개의 유저 계정이 정상적으로 만들어 졌는지 확인합니다.


먼저 DB를 확인하기 위해 SHOW DATABASES; 를 사용합니다.


mysql> SHOW DATABASES;



4개의 DB가 생성되었습니다. (보안상 DB명을 모자이크 처리함을 양해해 주세요.)


이제 유저들도 등록되었는지 확인해 봅니다.


먼저 MySQL의 mysql DB를 선택하고 SELECT 문으로 유저들을 조회합니다.


mysql> use mysql;

mysql> select user from user;



유저도 4개가 잘 등록 되었습니다.


이제 다음 글에서 지금까지 고생한 라이트 세일 서버 인스턴스를 그대로 백업해 봅니다.




(C) 2017 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)