라즈베리파이4 MariaDB(MySQL) 설치 (워드프레스 3편)
워드프레스 설치를 위한 mariadb(mysql) 설치 방법입니다.
앞선 포스팅에서 설명드린 Apache설치와 php설치를 먼저 하시고 오시기 바랍니다.
워드프레스를 사용하기 위해서는 DBMS가 존재해야 합니다.
이전에는 보통 MySQL를 많이 설치했었는데 오라클이 MySQL을 인수하며 라이선스 정책이 변경되어 MySQL과 동일한 소스코드로 만들어진 MariaDB가 급부상하게 되었습니다.
MariaDB는 GPL v2 라이선스를 따르며, MySQL과 사용방법과 구조 및 명령어까지 같습니다.
라즈베리파이에서 apt 설치 list를 확인해보면 mysql-server는 더이상 존재하지 않고 mariadb-server만 존재합니다.
apt list mysql-server와 mariadb-server 검색
하여 저는 mariadb-server를 설치로 진행하겠습니다.
먼저 터미널 창에서 mariadb-server 와 php-mysql 를 설치합니다.
#mariadb-server 및 php-mysql 설치
pi@raspberry:/ $ sudo apt-get install mariadb-server php-mysql -y
MariaDB 설치
php-mysql이 설치가 완료되면 아파치를 한번 재시작 해줍니다.
아파치 서비스 재시작
다음은 터미널 창에 sudo mysql_secure_installation 을 입력하여 MariaDB의 기본적인 보안을 설정합니다.
(MariaDB이지만 mysql과 소스 및 명령어가 똑같습니다)
Enter current password for root (enter for noe) : 엔터입력
Set root paswword? [Y/n] Y입력
New paswword: 원하는 root의 비밀번호 입력
Re-enter new password: 위에 입력한 root 비밀번호 한번 더 입력
나머지 모두 Y를 추천
단, 외부IP에서 원격으로 DB접속해서 root로 로그인 할거라면 Disallow root login remotely? [n]
MairaDB 기본 보안설정
이제 워드프레스에서 사용할 데이터베이스를 만들 차례 입니다.
먼저 터미널 창에서 sudo mysql -uroot -p 명령어를 치고 위에서 설정한 root의 비밀번호를 입력하여 MariaDB에 접속합니다.
MariaDB 접속
다음은 MariaDB 프롬프트에서 create database wordpress; 쿼리를 입력합니다.
wordpress라는 이름을 가진 데이터베이스를 만들라는 쿼리입니다.
정상 입력시 Query OK 라는 문구가 나옵니다.
wordpress라는 이름을 가진 database 생성
다음은 root에게 DB의 권한을 부여해주어야 합니다.
(뒤에 '1234 '는 root의 비밀번호 입니다. 위에 기본보안설정에서 적은 비밀번호와 다른 비밀번호를 넣으면 MariaDB 접속 비밀번호가 이곳에서 넣은 비밀번호로 변경됩니다.)
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY '원하는root비밀번호 ';
(외부에서도 DB에 접속할 거라면: GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'%' IDENTIFIED BY '원하는root비밀번호 ' WITH GRANT OPTION; )
쿼리가 정상적으로 OK가 떨어지면, FLUSH PRIVILEGES; 입력합니다. (변경사항 즉시반영 명령어)
root에게 wordpress DB권한 주기
이후 quit 명령어를 넣어 라즈베리파이 쉘로 빠져나옵니다.
MariaDB 종료 quit
외부 PC에서 mariaDB를 접속할 경우에는 /etc/mysql/mariadb.conf.d/50-server.cnf 파일의 bind-address를 주석처리 해야합니다.
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address를 주석처리해야 함
이후 마리아DB를 재시작 해줍니다.
sudo systemctl restart mariadb.service
다음으로는 드디어 워드프레스 설치 및 세팅 포스팅을 하도록 하겠습니다.
PS:
MySQL 사용자 권한부여 (grant 명령어)
기본 방법
grant all privileges on [데이터베이스명.테이블명] to [사용자@호스트] identified by '비밀번호' [with grant option];
FLUSH PRIVILEGES;
예제1) test 데이터베이스의 모든테이블(*)에 imuser ID로 local에서만 접근가능하도록 설정
grant all privileges on test.* to imuser@localhost identified by '비밀번호';
FLUSH PRIVILEGES;
예제2) 원격접속이 필요한 경우 localhost를 '%'로 변경
grant all privileges on test.* to imuser@'%' identified by '비밀번호';
FLUSH PRIVILEGES;
예제3) 특정 IP에서만 원격접속이 필요한 경우 호스트 부분에 아이피 입력
grant all privileges on test.* to imuser@192.168.0.100 identified by '비밀번호';
FLUSH PRIVILEGES;
부여한권한(grant) 제거방법(revoke)
revoke all on test.* from imuser;
FLUSH PRIVILEGES;
'라즈베리파이' 카테고리의 글 목록
전산 관련 경험을 기록 하는 곳
reddb.tistory.com