환경: CentOS 7 (WEB서버, DB서버 분리된 상태)
WEB (Apache + PHP) // apache - 2.4.6 버전 , php - 7.4.33 버전
DB (MariaDB) mariadb - 10.4.27 버전
우선 WEB서버부터 설정하겠다.
apache 설치
yum install httpd
|
php 설치
- 저장소 설치
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install epel-release yum-utils
|
2. 원하는 버전 php 활성화
yum-config-manager --enable remi-php74
|
3. php 설치& 기타 php 패키지 설치
yum -y install php
yum -y install php-fpm
yum -y install php-cli php-redis php-brotli php-intl php-gd php-gmp php-imap php-bcmath php-interbase php-json php-mbstring php-mysqlnd php-odbc php-opcache php-memcached php-tidy php-pdo php-pdo-dblib php-pear php-pgsql php-process php-pecl-apcu php-pecl-geoip php-pecl-imagick php-pecl-hrtime php-pecl-json php-pecl-memcache php-pecl-mongodb php-pecl-rar php-pecl-pq php-pecl-redis4 php-pecl-yaml php-pecl-zip
|
/var/www/html/index.html 설정
<html> <body> <h1> test!! </h1> </body> </html> <?php echo "Maria DB 연결 테스트<br>"; $db = mysqli_connect("10.1.3.132","root","password!!","mysql"); if($db){ echo "connect: success<br>"; }else{ echo "connect: failure<br>"; } $result = mysqli_query($db,'SELECT VERSION() as VERSION'); $data = mysqli_fetch_assoc($result); echo $data['VERSION']; ?> |
10.1.3.132 = 연동할 DB서버의 IP
root = mariadb 접속/연동 될 유저
password!! = mariadb의 user를 root로 접속할 시의 패스워드
mysql = mariadb 내 'mysql'이라는 데이터베이스에 연동
==========================================================================
이번엔 DB서버의 설정이다.
DB서버에 mariadb를 설치하겠다. (10.4.27 버전)
- yum 저장소 추가
# /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
|
2. MariaDB 설치
yum install MariaDB
|
3. MariaDB 시작, 패스워드 변경
systemctl start mariadb
/usr/bin/mysqladmin -u root password
|
4. netstat 및 iptables 확인
# netstat -ntlp
tcp6 0 0 :::3306 :::* LISTEN 20849/mysqld
# iptables -nL
Chain RH-Firewall-1-INPUT (2 references)
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306
|
netstat 에서 돌아가고 있어도 iptables에서 3306 포트가 열려있지 않으면 서버 간 연동이 제대로 되지 않을 수 있다. 방화벽에서 3306 포트를 열어주자.
우선 mariadb에 접속하여 db에 접근 가능한 유저 목록을 살펴본다.
#mysql -u root -p
MariaDB [(none)]> use mysql
MariaDB [mysql]> select host, user, password from user;
+---------------------+-------------------+-------------------------------------------------------------------------+
| Host | User | Password |
+---------------------+-------------------+-------------------------------------------------------------------------+
| localhost | mariadb.sys | |
| localhost | root | *1AF449DA4FB794A76795519E20E4A04CA2080A68 |
| localhost | mysql | invalid |
| localhost | | |
+---------------------+-------------------+--------------------------------------------------------------------------+
4 rows in set (0.002 sec)
|
현재 상태는 localhost에서만 접근 가능한 상태이다.
localhost가 아닌, 모든 IP에서 접근 가능할 수 있게 설정해보겠다.
MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by 'password!!';
MariaDB [mysql]> flush privileges;
|
다시 접근 가능한 유저목록을 살펴본다.
MariaDB [mysql]> select host, user, password from user;
+-------------------+------------------+-------------------------------------------------------------------------+
| Host | User | Password |
+-------------------+------------------+-------------------------------------------------------------------------+
| localhost | mariadb.sys | |
| localhost | root | *1AF449DA4FB794A76795519E20E4A04CA2080A68 |
| localhost | mysql | invalid |
| localhost | | |
| % | root | *1AF449DA4FB794A76795519E20E4A04CA2080A68 |
+-------------------+------------------+-------------------------------------------------------------------------+
5 rows in set (0.002 sec)
|

'IT tech > SQL' 카테고리의 다른 글
mysql 패스워드 정책 변경 및 확인 (0) | 2023.04.28 |
---|---|
mysql 8.0에서 root 패스워드 초기화하는 방법 (0) | 2023.04.28 |