이전 글(LAMP : MariaDB 설치과정 정리)에서 PHP 연동 테스트를 phpMyAdmin 설치로 한다고 예고했었지요.

phpMyAdmin을 설치해보겠습니다.

MariaDB 기반이라 MySQL 기반과 기본적인 과정은 같지만, 세부적인 과정은 다를 수 있습니다.

 

▲ 먼저 패키지들을 최신으로 유지합니다.

sudo apt-get update

sudo apt-get upgrade

 

▲ phpMyAdmin 패키지를 설치합니다.

sudo apt-get install phpmyadmin

디지털오션의 튜토리얼을 보면 php-mbstring 과 php-gettext 패키지들이 중요한 듯한데, 저는 PHP 7.2 설치 과정에서 php-mbstring 을 설치했더니 의존성 패키지에 뜨지 않았고, php-gettext 는 의존성패키지에 보이네요.

 

▲ 설치 중에 위와 같은 대화창이 뜹니다. 저는 LAMP니까 apache2에 스페이스바로 체크(*)해주고 <확인>을 눌렀습니다.

 

▲ 이후 설치가 계속 진행됩니다. 기다립니다.

 

▲ 대화창이 또 뜹니다. dbconfig-common 으로 DB 설정하겠냐고.

"데이터베이스를 이미 설치하고 설정한 경우, 이 옵션을 사용하지 마십시오."라는 문구가 눈에 띄네요. 저는 MariaDB 설치할 때 mysql_secure_installation 을 진행했기 때문에 이번 과정은 건너뛰어도 될 것 같습니다. <아니오>를 선택했습니다.

 

▲ 설치 완료.

 

 

※ phpMyAdmin 접속 테스트 & 문제 해결

 

웹브라우저 주소창에 "도메인/phpmyadmin/" 형태로 입력합니다. 도메인을 연결하지 않았다면 "localhost/phpmyadmin/" 이라고 입력합니다.

 

▲ 이런 화면이 뜨면 된 겁니다.

 

MaridDB 설치할 때 root DB계정 쉘인증을 유지했다면 root DB계정으로 로그인이 안 될 겁니다.

그래서 저는 쉘인증 우회 용으로 만들었던 세컨드 DB 계정(aaa)으로 로그인을 시도했습니다.

 

▼ 로그인이 되긴 하네요. 그런데...

▲ 이상하다? 세컨드 계정(aaa)의 "허용" 란의 상태가 root와 다르고, "권한 수정" 버튼이 안 보입니다.

 

▲ 이렇게 "권한 수정"이 뜨는 게 정상이거든요. 이래야 root 계정처럼 쓸 수 있습니다.

 

구글링 => 해결책 찾기 성공.

어떻게 했냐 하면...

 

▲ 터미널 창에서 root 계정으로 DB에 로그인한 다음

UPDATE mysql.user SET Grant_priv='Y', Super_Priv='Y' WHERE user='계정명' AND host='호스트명';

형태로 입력하고

FLUSH PRIVILEGES;

쳐서 적용했습니다.

User, Host 항목은 phpMyAdmin 로그인 해서 “사용자 계정” 란을 봐도 나오는데(위 스샷들 중에 있죠?), 혹시나 해서 SELECT User, Host FROM mysql.user; 명령어로 확인한 겁니다.

 

phpMyAdmin 로그인+재로그인 해서 “사용자 계정” 란으로 다시 접근하여 확인해봤더니...

 

▲ 이제 모든 기능을 쓸 수 있게 된 게 보입니다.

 

※ 도움 받은 링크들

http://blog.work6.kr/422

https://code-examples.net/ko/q/1a1416

https://dba.stackexchange.com/questions/63404/how-to-grant-super-privilege-to-the-user

 

설치 과정은 이것으로 끝입니다.

 

※ "phpMyAdmin 설정 스토리지가 완전히 설정되지 않아, 일부 확장 기능들이 비활성화 된 상태입니다." 오류 대처법

 

▲ 저는 이런 오류가 보이더군요.

원인을 확인하려면 여기를 누르라길래 눌렀더니...

 

▲ 이런 화면이 뜨더군요.

일반 릴레이션 기능 사용불가.

해결법이 나오길래, Create 링크를 눌러봤습니다. 물론 root 계정과 동급 권한을 가진 세컨드 계정으로요.

 

▲ 뭐가 막 생성됩니다. "일반 릴레이션 기능: 사용가능"이 보입니다.

좌측에 phpmyadmin 이름의 DB도 생겼습니다.

좌측 상단 phpMyAdmin 로고 아래의 집모양 아이콘을 눌러서 기본 화면으로 돌아가보니, 에러가 사라졌습니다.

 

만약 다른 계정으로 로그인하게 된다면 에러가 똑같이 뜰 수도 있는데,

사실 쇼핑몰처럼 DB를 복잡하게 얽어야 하는 경우가 아니라면(블로그 정도로만 쓴다면) 오류를 무시하고 써도 지장이 없었습니다.

아래에 적은 팁 중에서 “방법 3”을 참고해서 phpmyadmin 이름의 DB를 계정에 연결해주면 오류는 사라지던데, 근본적으로 해결하고 싶다면 웹브라우저 주소창에 “localhost/phpmyadmin/doc/html/setup.html#linked-tables” 라고 쳐보면 설명서가 나올테니 참고하시고...

잘 모르겠으면 구글링 해보세요. ^^;;

 

 

※ phpMyAdmin으로 DB 생성 + 사용자(계정) 추가 + DB에 사용자 연결하기

 

실습 차원에서 DB와 계정을 만들어보고, 이 둘을 연결해보도록 하겠습니다.

(root 역할을 하는 세컨드 계정으로 DB를 컨트롤해도 되는데, DB별로 관리용 계정을 따로 할당하는 법을 익혀두면 유용하더라고요.)

phpMyAdmin에서 이것을 구현하기 위한 방법은 세가지가 있습니다. 취향에 맞는 방법을 골라 쓰시면 됩니다.

 

- 방법 1. DB 먼저 만들고, 해당 DB의 "권한" 탭에서 사용자를 추가하면서 연결하기

 

▲ root 역할을 하는 세컨드 계정으로 phpMyAdmin에 로그인한 다음 "데이터베이스" 탭에서 새 데이터베이스를 만들면...

 

▲ 해당 DB의 관리 메뉴로 자동적으로 넘어갑니다. "권한" 탭에서 "사용자 추가" 메뉴를 선택한 다음...

 

▲ 로그인 정보 란에 ID와 비밀번호를 적절히 넣어주고,

“Database for user account” 란에서 "~~~ 데이터베이스에 대한 모든 권한을 부여" 체크박스를 체크하고 "실행" 버튼을 누르면 DB와 계정이 연결됩니다.

 

- 방법 2. 사용자를 만들고, 사용자명과 같은 이름의 DB를 생성하면서 연결하기

 

▲ root 역할을 하는 세컨드 계정으로 phpMyAdmin에 로그인한 다음 "사용자 계정" 탭에서 "사용자 추가" 메뉴를 선택한 다음...

 

▲ 로그인 정보 란에 ID와 비밀번호를 적절히 넣어주고,

“Database for user account” 란에서 "동명의 데이터베이스를 생성하고 모든 권한을 부여" 체크박스를 체크하고 "실행" 버튼을 누르면 계정과 DB가 동시에 만들어지면서 연결됩니다.

 

- 방법 3. 사용자를 먼저, DB를 나중에 만든 다음 둘을 연결하기

 

▲ root 역할을 하는 세컨드 계정으로 phpMyAdmin에 로그인한 다음 "사용자 계정" 탭에서 "사용자 추가" 메뉴를 선택한 다음...

 

▲ 로그인 정보 란에 ID와 비밀번호를 적절히 넣어주고,

“Database for user account” 란에서 체크박스를 선택하지 않고 "실행" 버튼을 누르면 계정만 생성됩니다.

 

▲ 상단의 "서버:localhost:3306" 부분을 클릭(또는 좌측상단 phpMyAdmin 로고 하단의 집모양 아이콘 클릭)한 다음 "데이터베이스" 탭에서 새 DB를 만듭니다.

 

▲ 다시 "서버:localhost:3306" 부분을 클릭하고 "사용자 계정" 탭으로 접근한 다음, 생성했던 계정에서 "권한 수정"을 누릅니다.

 

▲ 화면이 바뀌면 위 스크린 샷을 참고하여 Global 옆의 “데이터베이스” 클릭 → “다음 데이터베이스들에 대한 권한 추가” 항목에서 아까 만들었던 DB명을 클릭 → “실행” 버튼을 눌러 다음 대화창으로 넘어갑니다.

 

▲ GRANT 체크박스만 해제하고 나머지들은 전부 체크. 그리고 “실행” 버튼을 누르면 계정과 DB가 연결됩니다.

 

----------------------------------------------------------

 

▼ 로그아웃 후 생성한 계정으로 접근해보면 해당 DB만 보이는 것을 확인할 수 있습니다.

 

다음 글은... 워드프레스 설치 과정 설명이 될 것 같습니다. ^^

 

------------------------------------------------------------------------

 

아파치(Apache) Mod Security와 phpMyAdmin 403 Forbidden 해결

[우분투 18.04] phpMyAdmin “서버 에러” 문제 해결기

반응형