포트 확인 사이트

포트를 확인할 수 있는 사이트는 다음과 같습니다:

  1. YouGetSignalhttps://www.yougetsignal.com/tools/open-ports/
    공인 IP 주소와 특정 포트를 입력하면 열려 있는지 확인해줍니다.

  2. Port Checkerhttps://portchecker.co/
    공인 IP 주소와 포트를 입력해 포트 개방 여부를 테스트할 수 있습니다.

  3. Ping.euhttps://ping.eu/port-chk/
    간단히 공인 IP 주소와 포트 번호를 입력해 포트 상태를 확인할 수 있습니다.

이 사이트들에서 집 서버의 공인 IP와 사용 중인 포트를 입력해 확인해 보세요.

KT에서 개인 웹 서버 호스팅을 제한할 가능성이 있으므로, 필요 시 고객센터에 문의하지 않고 내가 확인할 수 있는 방법은?

KT에서 포트를 차단했는지 직접 확인하려면 외부 네트워크에서 웹 서버의 공인 IP 주소와 해당 포트로 접근 시도를 해 볼 수 있습니다. 다음 방법으로 확인 가능합니다.

1. 외부 네트워크에서 접근 테스트

  • 다른 네트워크 환경(예: 휴대폰의 데이터 네트워크)에서 집 서버의 공인 IP 주소와 포트를 이용해 웹 서버에 접속해 보세요.
  • 주소 형식 예시: http://공인_IP_주소:포트번호
  • 외부 네트워크에서 접근이 되지 않는다면, 포트 차단 가능성이 있습니다.

2. 포트 개방 확인 도구 사용

  • 인터넷에서 “포트 확인 사이트” 또는 “Port Checker” 같은 무료 도구를 사용하여 집 서버의 공인 IP 주소와 특정 포트(예: 80, 443)가 열려 있는지 확인할 수 있습니다.
  • 포트가 차단된 경우, 웹서버가 켜져 있어도 외부에서 포트를 스캔했을 때 “closed”로 나올 수 있습니다.

3. 명령어로 포트 확인 (외부 서버 이용)

  • 외부에 SSH 접속 가능한 서버가 있다면, 그 서버에서 telnet 명령어로 포트 상태를 확인할 수 있습니다.
  • 예:
    bash
    telnet 공인_IP_주소 80
  • 연결이 성공하면 서버가 외부에서 접근 가능하다는 뜻이고, 실패하면 포트가 차단되었을 가능성이 큽니다.

이렇게 직접 확인하면 포트 차단 여부를 파악할 수 있습니다.

kt 인터넷을 사용하고 있고 집에서 웹서버를 설치 했는데 열리지 않는다. 무엇부터 확인해야 되나요?

웹서버가 열리지 않는 문제는 여러 원인이 있을 수 있습니다. 다음 단계로 문제를 해결해 보세요:

  1. 서버 상태 확인: 서버가 실제로 실행 중인지, 그리고 Apache가 정상적으로 작동하는지 확인하세요. Ubuntu에서는 다음 명령어를 사용합니다:

    bash
    sudo systemctl status apache2
  2. 포트 포워딩 설정 확인: KT 인터넷의 경우, 외부에서 집안 네트워크로 접근하려면 라우터에서 포트 포워딩을 설정해야 합니다. 일반적으로 웹서버는 80번 포트(HTTP) 또는 443번 포트(HTTPS)를 사용하므로, 이 포트를 서버의 내부 IP 주소로 포워딩해야 합니다.

  3. 방화벽 설정 확인: 서버의 방화벽이나 라우터의 방화벽이 포트 접근을 막고 있을 수 있습니다. Ubuntu에서는 다음 명령어로 방화벽 설정을 확인하고 포트를 열어 주세요:

    bash
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
  4. 공인 IP 주소 확인: KT 인터넷의 경우 공유기 설정에서 공인 IP를 확인하고, 해당 IP로 접근해야 합니다. 일부 ISP는 공인 IP 제공에 제한이 있을 수 있습니다.

  5. ISP 제한 확인: KT에서 개인 웹 서버 호스팅을 제한할 가능성이 있으므로, 필요 시 고객센터에 문의하여 포트가 차단되어 있는지 확인하세요.

이 단계를 차례로 확인하시면서 웹 서버가 정상적으로 열리는지 테스트해 보세요.

워드프레스 백업과 복구 방법

워드프레스 백업과 복구 방법을 설명드릴게요. 전체적인 순서를 따라가시면 됩니다.

1. 워드프레스 백업 방법

1.1. 파일 백업

  • 워드프레스 설치 디렉토리(/var/www/html/wordpress)에 있는 모든 파일을 백업합니다.
bash
tar -czvf wordpress_backup.tar.gz /var/www/html/wordpress

1.2. 데이터베이스 백업

  • MySQL 데이터베이스를 백업합니다.
bash
mysqldump -u 개인아이디_HD -p Homedaily_sum > wordpress_db_backup.sql

2. 다른 서버에 복구하는 방법

2.1. 아파치, PHP, MySQL, 워드프레스 설치

새로운 서버에서 필요한 소프트웨어를 설치합니다.

  • 아파치 웹 서버 설치
bash
sudo apt update
sudo apt install apache2
  • PHP 설치
bash
sudo apt install php libapache2-mod-php php-mysql
  • MySQL 설치
bash
sudo apt install mysql-server
sudo mysql_secure_installation
  • 워드프레스 설치
bash
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mv wordpress /var/www/html/wordpress

2.2. 데이터베이스 복구

  • 새 서버에서 MySQL에 로그인하고, 데이터베이스를 생성합니다.
bash
mysql -u root -p
CREATE DATABASE Homedaily_sum;
exit
  • 데이터베이스를 복구합니다.
bash
mysql -u 개인아이디_HD -p Homedaily_sum < wordpress_db_backup.sql

2.3. 파일 복구

  • 백업한 워드프레스 파일을 새로운 서버에 복사합니다.
bash
tar -xzvf wordpress_backup.tar.gz -C /var/www/html/

2.4. 파일 및 디렉토리 권한 설정

  • 권한을 적절하게 설정합니다.
bash
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress

3. index.html 파일 설정

3.1. 리다이렉트 설정

  • /var/www/html/index.html 파일을 열어 아래 내용을 추가하여 soon7shop.kr에 접속 시 soon7shop.kr/wordpress/로 리다이렉트하도록 설정합니다.
html
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="refresh" content="0;url=/wordpress/">
</head>
<body>
<p>If you are not redirected, <a href="/wordpress/">click here</a>.</p>
</body>
</html>

4. 정상적으로 적용되었는지 테스트 방법

4.1. 웹서버 재시작

  • 아파치 서버를 재시작합니다.
bash
sudo systemctl restart apache2

4.2. 웹사이트 접속

  • soon7shop.kr에 접속하여 리다이렉트가 정상적으로 이루어지는지 확인합니다.
  • soon7shop.kr/wordpress/에 접속하여 워드프레스 사이트가 정상적으로 표시되는지 확인합니다.

4.3. 데이터베이스 연결 확인

  • 워드프레스에서 데이터베이스 연결이 정상적인지 확인하려면, wp-config.php 파일을 열어 데이터베이스 설정이 올바르게 되어 있는지 체크합니다.

5. 문제 발생 시 확인 사항

  • 아파치 서버 로그 확인: /var/log/apache2/error.log
  • MySQL 로그 확인: /var/log/mysql/error.log
  • 권한 문제 해결: sudo chown -R www-data:www-data /var/www/html/wordpress

위 순서대로 진행하면, 워드프레스 백업과 복구가 잘 완료될 것입니다.

우분투, ssh 포트 활성화

SSH 포트를 활성화하려면 몇 가지 단계를 따라야 합니다. 기본적으로 SSH는 포트 22를 사용합니다. 아래는 SSH 포트를 활성화하는 방법입니다.

  1. SSH 설치 확인 먼저 SSH가 설치되어 있는지 확인합니다. Ubuntu에서는 아래 명령어로 확인할 수 있습니다:

    bash
    sudo apt update
    sudo apt install openssh-server
  2. SSH 서비스 확인 SSH 서비스가 실행 중인지 확인합니다:

    bash
    sudo systemctl status ssh

    SSH 서비스가 실행되지 않으면, 아래 명령어로 시작합니다:

    bash
    sudo systemctl start ssh
  3. 방화벽 설정 방화벽에서 SSH 포트를 허용해야 합니다. UFW를 사용하는 경우 아래 명령어로 SSH 포트를 열 수 있습니다:

    bash
    sudo ufw allow ssh

    또는 특정 포트 번호를 지정하려면(예: 포트 22) 아래 명령어를 사용합니다:

    bash
    sudo ufw allow 22/tcp

    방화벽 상태를 확인하려면:

    bash
    sudo ufw status
  4. 포트 변경 (선택 사항) 보안상의 이유로 SSH 포트를 변경할 수도 있습니다. /etc/ssh/sshd_config 파일을 수정하여 포트를 변경합니다. 아래 명령어로 파일을 엽니다:

    bash
    sudo nano /etc/ssh/sshd_config

    Port 22 항목을 원하는 포트 번호로 변경합니다. 예를 들어, 2222 포트를 사용하려면:

    yaml
    Port 2222

    파일을 저장하고 나서 SSH 서비스를 다시 시작합니다:

    bash
    sudo systemctl restart ssh
  5. 새 포트 방화벽 규칙 설정 포트를 변경한 경우, 새로운 포트 번호에 대해 방화벽 규칙을 추가해야 합니다. 예를 들어, 포트를 2222로 변경한 경우:

    bash
    sudo ufw allow 2222/tcp

    기존 포트(22)도 여전히 열려 있으면 보안을 위해 닫는 것이 좋습니다:

    bash
    sudo ufw deny 22/tcp
  6. SSH 접속 확인 변경된 포트로 SSH 접속이 잘 되는지 확인합니다:

    bash
    ssh -p 2222 username@your_server_ip

이 절차를 따르면 SSH 포트를 활성화하고 필요에 따라 포트를 변경할 수 있습니다.

우분투, 하드 디스크 용량 표시

하드 디스크의 용량을 확인하려면 df 명령어 또는 lsblk 명령어를 사용할 수 있습니다. 아래에서 두 가지 방법을 소개합니다.

1. df 명령어 사용

df 명령어는 디스크의 전체 용량, 사용된 용량, 남은 용량 등을 표시해줍니다.

bash
df -h

-h 옵션은 사람이 읽기 쉬운 형식으로 용량을 표시해줍니다 (예: MB, GB, TB).

출력 예시:

bash
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 25G 75G 25% /
/dev/sdb1 200G 50G 150G 25% /mnt/mydisk

이 출력에서 Size는 전체 용량, Used는 사용된 용량, Avail은 남은 용량을 나타냅니다.

2. lsblk 명령어 사용

lsblk 명령어는 시스템에 연결된 모든 블록 장치의 정보를 트리 형식으로 보여줍니다. 이 명령어는 각 디스크와 파티션의 용량을 확인하는 데 유용합니다.

bash
lsblk

출력 예시:

pgsql
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 100G 0 part /
└─sda2 8:2 0 400G 0 part /mnt/storage
sdb 8:16 0 200G 0 disk
└─sdb1 8:17 0 200G 0 part /mnt/mydisk

이 출력에서 SIZE는 각 디스크와 파티션의 용량을 나타냅니다.

3. fdisk 명령어 사용

fdisk 명령어를 사용하여 디스크의 파티션 정보를 확인할 수도 있습니다.

bash
sudo fdisk -l

출력 예시:

bash
Disk /dev/sda: 500 GB
Disk /dev/sdb: 200 GB

이 방법들 중 하나를 사용하여 하드 디스크의 용량을 쉽게 확인할 수 있습니다.

우분투 설정, 하드디스크 추가 하기 , 항상 인식하도록 설정

서버에 하드디스크를 추가하고 우분투에서 항상 인식되도록 설정하는 방법을 안내해 드리겠습니다. 아래 절차를 따라 진행하시면 됩니다:

1. 하드디스크 추가

  1. 서버 전원 끄기: 하드디스크를 추가하기 전에 서버를 끄고 전원 케이블을 분리하세요.
  2. 하드디스크 연결: 델 R410의 서버 케이스를 열고, 여유 있는 드라이브 슬롯에 하드디스크를 장착합니다. 연결이 완료되면 서버 케이스를 닫습니다.
  3. 서버 전원 켜기: 서버를 다시 켜고, BIOS나 RAID 설정 화면에 들어가서 하드디스크가 인식되는지 확인합니다.

2. 우분투에서 하드디스크 인식 확인

  1. 서버가 부팅되면, 우분투에서 하드디스크가 잘 인식되었는지 확인합니다. 터미널에서 아래 명령어를 입력하세요:

    bash
    sudo fdisk -l

    이 명령어를 통해 추가된 하드디스크가 /dev/sdX 형태로 나타나야 합니다. (/dev/sda, /dev/sdb 등)

3. 하드디스크 파티션 및 포맷

하드디스크가 인식되면, 파티션을 만들고 포맷해야 합니다. 예를 들어, /dev/sdb에 새 파티션을 만들고 포맷하는 방법은 다음과 같습니다.

  1. fdisk로 파티션 만들기:

    bash
    sudo fdisk /dev/sdb

    이 명령어로 파티션을 만들 수 있는 fdisk 인터페이스로 들어갑니다.

    • n을 입력하여 새 파티션을 생성합니다.
    • p를 선택하여 기본 파티션을 선택하고, 원하는 파티션 크기를 입력합니다.
    • w를 입력하여 변경사항을 저장하고 종료합니다.
  2. 파일 시스템 포맷:

    새로 만든 파티션에 파일 시스템을 포맷하려면, 예를 들어 ext4 파일 시스템으로 포맷하려면 아래 명령어를 사용합니다.

    bash
    sudo mkfs.ext4 /dev/sdb1

4. 자동 마운트 설정

서버가 부팅될 때마다 하드디스크가 자동으로 마운트되도록 설정하려면 /etc/fstab 파일을 수정해야 합니다.

  1. UUID 확인:

    우선, 하드디스크의 UUID를 확인합니다. 아래 명령어를 입력하여 UUID를 확인하세요.

    bash
    sudo blkid /dev/sdb1

    출력 예시:

    /dev/sdb1: UUID="1234-abcd" TYPE="ext4"
  2. /etc/fstab 수정:

    fstab 파일을 편집하여 부팅 시 하드디스크가 자동으로 마운트되도록 설정합니다.

    bash
    sudo nano /etc/fstab

    파일 맨 아래에 다음과 같이 추가합니다.

    ini
    UUID=1234-abcd /mnt/mydisk ext4 defaults 0 2

    여기서 UUID=1234-abcdblkid 명령어로 확인한 UUID 값으로, /mnt/mydisk는 원하는 마운트 포인트입니다. (마운트 포인트는 mkdir 명령어로 만들 수 있습니다.)

    bash
    sudo mkdir /mnt/mydisk
  3. 변경 사항 적용:

    fstab 설정을 적용하려면, 다음 명령어로 파일 시스템을 다시 마운트합니다.

    bash
    sudo mount -a

5. 하드디스크 인식 확인

서버를 재부팅한 후, 하드디스크가 자동으로 마운트되는지 확인하려면 다음 명령어를 사용합니다.

bash
df -h

이 명령어로 마운트된 디스크들을 확인할 수 있습니다.

우분투 바쿨라 백업 프로그램

Bacula(바쿨라)는 오픈소스 백업 솔루션으로, 네트워크를 통해 클라이언트 시스템의 데이터를 중앙 백업 서버에 백업하고 복구할 수 있는 강력한 도구입니다. 우분투에서 Bacula를 설정하는 방법을 설명해 드리겠습니다.


1. Bacula 개요

Bacula는 다음과 같은 구성 요소로 이루어져 있습니다:

  • Director: 백업 및 복구 작업을 관리하는 중앙 제어 시스템
  • Storage Daemon (SD): 실제 데이터를 저장하는 백업 서버
  • File Daemon (FD): 클라이언트에서 실행되며 백업할 데이터를 제공하는 에이전트
  • Catalog: 백업된 파일의 메타데이터를 저장하는 데이터베이스 (MySQL, PostgreSQL, SQLite 지원)
  • Console: Bacula를 관리하는 CLI 도구

2. Bacula 설치 (Ubuntu 20.04 / 22.04 기준)

1) 패키지 설치

bash
sudo apt update
sudo apt install bacula-server bacula-client

3. Bacula 구성 파일 설정

Bacula의 주요 설정 파일은 /etc/bacula/ 디렉터리에 위치합니다.

1) Director 설정 (/etc/bacula/bacula-dir.conf)

Bacula Director는 전체 백업을 제어하는 역할을 합니다. 기본 설정을 편집하려면 다음 명령어를 사용하세요.

bash
sudo nano /etc/bacula/bacula-dir.conf

설정 예제:

bash
Director {
Name = bacula-dir
Password = "MyStrongPassword"
}
JobDefs {
Name = “DefaultJob”
Type = Backup
Level = Incremental
FileSet=“Full Set”
Schedule = “WeeklyCycle”
Storage = File
Messages = Standard
Pool = Default
Priority = 10
}

변경할 주요 사항:

  • Name : Bacula Director의 이름
  • Password : 클라이언트와 통신하는 비밀번호

2) Storage Daemon 설정 (/etc/bacula/bacula-sd.conf)

스토리지 데몬은 백업 데이터를 저장하는 역할을 합니다.

bash
sudo nano /etc/bacula/bacula-sd.conf

설정 예제:

bash
Storage {
Name = FileStorage
Address = 192.168.1.100 # 서버의 IP 주소
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/run/bacula"
MaximumConcurrentJobs = 20
}

변경할 주요 사항:

  • Address : Bacula 서버의 IP 주소
  • WorkingDirectory : 백업 데이터 저장 경로

3) File Daemon 설정 (/etc/bacula/bacula-fd.conf)

클라이언트에서 실행되는 File Daemon 설정을 변경합니다.

bash
sudo nano /etc/bacula/bacula-fd.conf

설정 예제:

bash
FileDaemon {
Name = client-fd
FDPort = 9102
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/run/bacula"
}

변경할 주요 사항:

  • Name : 클라이언트 이름
  • FDPort : 기본 포트 (9102)

4. Bacula 서비스 시작 및 확인

설정을 마친 후, Bacula 서비스를 재시작합니다.

bash
sudo systemctl restart bacula-director
sudo systemctl restart bacula-sd
sudo systemctl restart bacula-fd

서비스 상태 확인:

bash
sudo systemctl status bacula-director
sudo systemctl status bacula-sd
sudo systemctl status bacula-fd

모두 active (running) 상태여야 정상 동작합니다.


5. 백업 작업 실행

CLI에서 Bacula 콘솔을 실행하여 백업 작업을 수행할 수 있습니다.

bash
bconsole

백업 실행:

bash
run

복구 실행:

bash
restore

6. 방화벽 설정

Bacula는 기본적으로 다음 포트를 사용합니다.

  • 9101: Director
  • 9102: File Daemon (Client)
  • 9103: Storage Daemon

만약 UFW를 사용하고 있다면 포트를 열어야 합니다.

bash
sudo ufw allow 9101/tcp
sudo ufw allow 9102/tcp
sudo ufw allow 9103/tcp
sudo ufw reload

7. Bacula 웹 인터페이스 (옵션)

웹 UI로 Bacula-Web을 사용할 수 있습니다.
설치 방법:

bash
sudo apt install apache2 php php-cli php-mysql
cd /var/www/html
sudo git clone https://github.com/bacula-web/bacula-web.git
sudo chown -R www-data:www-data /var/www/html/bacula-web
sudo systemctl restart apache2

웹 브라우저에서 http://서버IP/bacula-web/로 접속하면 웹 UI를 사용할 수 있습니다.


결론

Bacula는 강력한 백업 솔루션으로 네트워크를 통한 자동 백업이 가능합니다. 위 단계를 따라 설정하면 기본적인 백업 및 복구 기능을 활용할 수 있습니다. 추가적으로 스케줄링, 다양한 스토리지 지원 등을 설정하여 더욱 강력한 백업 시스템을 구축할 수도 있습니다.

퍼펫 프로그램에 대하여

Puppet(퍼펫)은 서버 및 애플리케이션을 자동화하고 관리하는 오픈소스 구성 관리   (Configuration Management) 도구입니다. 인프라의 설정을 코드로 정의하는 Infrastructure as Code(IaC) 개념을 기반으로 하며, 대규모 서버 환경에서 일관된 설정을 유지하고 효율적인 배포를 가능하게 합니다.


1. Puppet 개요

  • 개발사: Puppet Labs
  • 라이선스: 오픈소스(Community Edition) 및 상용(Enterprise Edition)
  • 언어: Ruby 기반
  • 지원 플랫폼: Linux(Ubuntu, CentOS 등), Windows 등 다양한 OS 지원
  • 주요 기능:
    • 서버 및 애플리케이션 자동화
    • 시스템 구성 변경 관리 및 적용
    • 대규모 인프라의 중앙 집중식 관리

2. Puppet의 주요 구성 요소

Puppet은 Master-Agent 모델Standalone 모델을 지원합니다.

🔹 Master-Agent 구조

  1. Puppet Master: 중앙에서 모든 노드(서버)의 설정을 관리.
  2. Puppet Agent: 각 노드에서 Puppet Master로부터 명령을 받아 실행.
  3. Manifests: 설정을 정의하는 코드 파일(.pp 확장자).
  4. Modules: 여러 개의 Manifests를 포함하는 구성 패키지.
  5. Hiera: 계층형 데이터 저장소를 활용한 설정값 관리.
  6. Facter: 시스템의 하드웨어 및 소프트웨어 정보를 수집하는 도구.

🔹 Standalone(Agentless) 구조

  • Puppet Master 없이 개별 서버에서 Puppet 실행 가능.
  • puppet apply 명령어를 사용하여 설정 적용.

3. Ubuntu에서 Puppet 설치 및 설정

3.1 Puppet Server 설치 (Master)

bash
# Puppet 저장소 추가
wget https://apt.puppet.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
sudo apt update

# Puppet Server 설치
sudo apt install -y puppetserver

3.2 Puppet Server 설정

  • Puppet Server의 기본 메모리 설정 변경 (/etc/default/puppetserver):
    bash
    JAVA_ARGS="-Xms512m -Xmx512m"
  • Puppet Master 서비스 시작 및 활성화:
    bash
    sudo systemctl start puppetserver
    sudo systemctl enable puppetserver

3.3 Puppet Agent 설치

bash
sudo apt install -y puppet-agent
  • puppet.conf 수정 (/etc/puppetlabs/puppet/puppet.conf):
    ini
    [agent]
    server = puppet-master.example.com
  • Agent 실행 및 Master와 통신 확인:
    bash
    sudo systemctl start puppet
    sudo systemctl enable puppet
    puppet agent --test

4. Puppet 코드 작성 예제

4.1 Manifests 예제 (site.pp)

puppet
node 'client-node' {
package { 'apache2':
ensure => installed,
}

service { 'apache2':
ensure => running,
enable => true,
}

file { '/var/www/html/index.html':
content => "<h1>Welcome to Puppet Managed Server</h1>",
mode => '0644',
owner => 'www-data',
group => 'www-data',
}
}

  • Apache 설치 및 실행
  • 기본 홈페이지(index.html) 생성 및 권한 설정

4.2 Puppet 적용

bash
puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp

5. 추천 자료 (책 & 가이드)

📚 한글 자료

📖 영문 자료


6. 마무리

Puppet은 대규모 서버 환경에서 자동화를 위한 강력한 도구입니다. Ubuntu에서 설정하는 방법을 익힌 후, Hiera, Facter, 모듈 작성 등을 추가 학습하면 더욱 효과적으로 사용할 수 있습니다. Django 기반 웹 서비스와 함께 자동화 환경을 구축할 수도 있습니다.

데이터베이스에서 워드프레스 관리자 아이디 찾기

워드프레스 관리자 아이디는 MySQL 데이터베이스에서 확인할 수 있습니다. 다음 단계를 따라 확인하세요.

1. MySQL 접속

터미널에서 아래 명령어를 실행하여 MySQL에 접속합니다.

sh
mysql -u root -p

또는 데이터베이스 사용자가 따로 있다면,

sh
mysql -u [사용자명] -p

비밀번호 입력 후 접속됩니다.

2. 워드프레스 데이터베이스 선택

sql
SHOW DATABASES;

워드프레스가 사용하는 데이터베이스를 찾고, 선택합니다.
예를 들어 데이터베이스 이름이 wordpress_db라면:

sql
USE wordpress_db;

3. 관리자 아이디 확인

워드프레스의 사용자 정보는 wp_users 테이블에 저장됩니다. 다음 명령어로 모든 사용자 목록을 확인하세요.

sql
SELECT ID, user_login, user_email FROM wp_users;

여기서 user_login이 아이디입니다.

4. 특정 관리자 계정 찾기

관리자 계정만 조회하려면 wp_usermeta 테이블과 조인해야 합니다.

sql
SELECT u.ID, u.user_login, u.user_email
FROM wp_users u
JOIN wp_usermeta m ON u.ID = m.user_id
WHERE m.meta_key = 'wp_capabilities' AND m.meta_value LIKE '%administrator%';

이렇게 하면 관리자 권한을 가진 계정만 출력됩니다.

5. 비밀번호 재설정 (필요 시)

비밀번호를 모르면, 새로운 것으로 변경할 수 있습니다.

sql
UPDATE wp_users
SET user_pass = MD5('새로운비밀번호')
WHERE user_login = 'admin';

⚠️ MD5 암호화는 보안상 취약하므로, 워드프레스 관리자 페이지에서 비밀번호를 변경하는 것이 더 안전합니다.