기본 콘텐츠로 건너뛰기

리눅스에서 MySQL 및 PostgreSQL 데이터베이스 설치 및 관리

리눅스에서 데이터베이스 설치 및 관리 (MySQL/PostgreSQL) 안녕하세요, mj입니다! 오늘은 리눅스에서 MySQL과 PostgreSQL 데이터베이스를 설치하고 관리하는 방법에 대해 알아보겠습니다. 데이터베이스는 애플리케이션의 핵심 요소로, 올바르게 설치하고 관리하는 것이 중요합니다. 1. MySQL 설치하기 MySQL은 가장 널리 사용되는 오픈 소스 데이터베이스 중 하나입니다. 다음은 Ubuntu에서 MySQL을 설치하는 방법입니다. 1.1. MySQL 설치 명령어 sudo apt update sudo apt install mysql-server 1.2. 설치 확인하기 설치가 완료되면 다음 명령어로 MySQL 서버가 정상적으로 실행되고 있는지 확인할 수 있습니다. sudo systemctl status mysql 1.3. MySQL 보안 설정 설치 후 보안 설정을 진행해야 합니다. 다음 명령어를 입력하여 보안 설정을 시작합니다. sudo mysql_secure_installation 1.4. 예시: 데이터베이스 생성 MySQL에 접속하여 새로운 데이터베이스를 생성해 보겠습니다. mysql -u root -p CREATE DATABASE sample_db; 출력 결과: Query OK, 1 row affected 2. PostgreSQL 설치하기 PostgreSQL은 강력한 기능을 제공하는 오픈 소스 데이터베이스입니다. 다음은 Ubuntu에서 PostgreSQL을 설치하는 방법입니다. 2.1. PostgreSQL 설치 명령어 sudo apt update sudo apt install postgresql postgresql-contrib 2.2. 설치 확인하기 PostgreSQL 서버가 정상적으로 실행되고 있는지 확인합니다. sudo systemctl status postgresql 2.3. PostgreSQL 사용자 및 데이터베이스 생성 PostgreSQL에 접속하여 새로운 사용자 및 데이터베이스를 생...
최근 글

리눅스에서 SSH 키 생성 및 관리: 보안 강화 방법

리눅스에서 SSH 키 생성 및 관리 안녕하세요, mj입니다. 오늘은 리눅스에서 SSH 키를 생성하고 관리하여 보안을 강화하는 방법에 대해 알아보겠습니다. SSH(Secure Shell)는 원격 서버에 안전하게 접속할 수 있는 프로토콜로, SSH 키를 사용하면 비밀번호 없이도 안전하게 인증할 수 있습니다. SSH 키란? SSH 키는 공개 키 암호 방식을 사용하는 인증 방법입니다. 두 개의 키, 즉 공개 키와 개인 키로 구성됩니다. 공개 키는 서버에 저장되고, 개인 키는 클라이언트에서 안전하게 보관됩니다. 이 두 키는 서로 연결되어 있어, 개인 키로 서명된 메시지는 공개 키로 검증할 수 있습니다. SSH 키 생성 방법 리눅스에서 SSH 키를 생성하는 방법은 다음과 같습니다. 터미널을 열고 아래의 명령어를 입력하세요: ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 위 명령어를 실행하면, 다음과 같은 출력 결과를 볼 수 있습니다: Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): 키 파일의 저장 경로를 입력하거나 기본값을 사용하면, 개인 키와 공개 키가 생성됩니다. 아래와 같은 결과가 나옵니다: Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: SHA256:abc1234567890 your_email@example.com The key's randomart image is: +---[RSA 4096]----+ | .o. | | o.o. . | | o..+o . | | .o+oEo...

리눅스에서 사용자 그룹 관리하는 방법

리눅스에서 사용자 그룹 관리하기 안녕하세요, mj입니다. 오늘은 리눅스에서 사용자 그룹을 생성하고 관리하는 방법에 대해 알아보겠습니다. 사용자 그룹이란? 사용자 그룹은 여러 사용자를 묶어 관리할 수 있는 기능으로, 권한을 일괄적으로 부여하거나 관리할 수 있는 장점이 있습니다. 예를 들어, 특정 그룹의 사용자에게만 파일 접근 권한을 부여할 수 있습니다. 사용자 그룹 생성하기 리눅스에서 사용자 그룹을 생성하기 위해서는 groupadd 명령어를 사용합니다. 다음은 그룹을 생성하는 예시입니다. sudo groupadd developers 위 명령어는 "developers"라는 이름의 그룹을 생성합니다. 예시: 여러 그룹 생성하기 sudo groupadd designers - 디자이너 그룹 생성 sudo groupadd testers - 테스터 그룹 생성 sudo groupadd admins - 관리자 그룹 생성 sudo groupadd marketing - 마케팅 그룹 생성 sudo groupadd sales - 영업 그룹 생성 사용자 그룹에 사용자 추가하기 그룹 생성 후에는 usermod 명령어를 사용하여 사용자를 그룹에 추가할 수 있습니다. 예를 들어, "mj" 사용자를 "developers" 그룹에 추가하는 방법은 다음과 같습니다. sudo usermod -aG developers mj 위 명령어에서 -aG 는 추가 모드로, 기존 그룹에 사용자를 추가하는 역할을 합니다. 예시: 여러 사용자 그룹에 추가하기 sudo usermod -aG designers mj - 디자이너 그룹에 mj 추가 sudo usermod -aG testers mj - 테스터 그룹에 mj 추가 sudo usermod -aG admins mj - 관리자 그룹에 mj 추가 sudo usermod -aG marketing mj - 마케팅 그룹에 mj 추가 sudo use...

리눅스에서의 파일 시스템 마운트하기 - mj의 블로그

리눅스에서의 파일 시스템 마운트하기 안녕하세요, mj입니다! 오늘은 리눅스에서 파일 시스템을 마운트하는 방법에 대해 알아보겠습니다. 파일 시스템 마운트는 데이터 접근을 위해 특정 디렉토리에 파일 시스템을 연결하는 과정입니다. 이 글에서는 마운트의 기본 개념과 함께 실습 예제를 통해 자세히 설명하겠습니다. 1. 파일 시스템 마운트의 기본 개념 파일 시스템 마운트는 리눅스 운영 체제에서 외부 저장 장치나 파티션의 데이터를 사용할 수 있도록 하는 과정입니다. 기본적으로, 리눅스는 모든 파일을 트리 구조로 관리하며, 이를 위해 각 파일 시스템을 특정 디렉토리에 연결해야 합니다. 2. 마운트할 장치 확인하기 먼저, 마운트할 장치를 확인해야 합니다. 이를 위해 lsblk 명령어를 사용할 수 있습니다. 이 명령어는 현재 시스템에 연결된 블록 장치의 목록을 보여줍니다. lsblk 예시 출력 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 95G 0 part / └─sda2 8:2 0 5G 0 part [SWAP] sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 200G 0 part 3. 마운트 포인트 생성하기 마운트할 장치의 데이터를 연결할 디렉토리인 마운트 포인트를 생성합니다. 일반적으로 /mnt 또는 /media 디렉토리 아래에 생성합니다. sudo mkdir /mnt/mydisk 4. 파일 시스템 마운트하기 이제 실제로 파일 시스템을 마운트합니다. 다음 명령어를 사용합니다. sudo mount /dev/sdb1 /mnt/mydisk 예시 출력 마운트가 성공적으로 완료되면 출력이 없거나 다음과 같은 메시지가 나타납니다: (no output) 5. 마운트 확인하기 마운트...

리눅스 시스템 모니터링 도구: 성능 최적화를 위한 필수 가이드

리눅스에서의 시스템 모니터링 도구 안녕하세요, mj입니다. 오늘은 리눅스에서 시스템 모니터링을 위한 다양한 도구를 소개해드리겠습니다. 시스템의 성능을 최적화하고 안정성을 높이기 위해서는 모니터링이 필수적입니다. 그럼 시작해볼까요? 1. top top 명령어는 실시간으로 시스템의 프로세스와 자원 사용량을 모니터링할 수 있는 도구입니다. CPU 사용률, 메모리 사용량, 프로세스 상태 등을 확인할 수 있습니다. top 출력 예시: top - 15:30:01 up 2:36, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 124 total, 1 running, 123 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.0 us, 0.5 sy, 0.0 ni, 98.0 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7972.0 total, 1320.0 free, 1945.0 used, 5657.0 buff/cache 2. htop htop 은 top 의 확장판으로, 더 직관적인 인터페이스를 제공합니다. 프로세스를 종료하거나 우선순위를 변경하는 등의 작업도 쉽게 할 수 있습니다. htop 출력 예시: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 mj 20 0 162928 12232 8596 S 0.7 0.2 0:00.01 bash 3. vmstat vmstat 는 시스템의 메모리, 프로세스, 입출력, CPU 활동 등을 모니터링할 수 있는 도구입니다. 주기적으로 시스템의 성능을 확인하고 문제를 진단하는 데 유용합니다. vmstat 1 5 출력 예시: procs ----------- memory---------- --- swap-- ----- io---- system-- -...

리눅스에서 파일 시스템 마운트하는 방법과 과정

리눅스에서 파일 시스템 마운트하기 안녕하세요, mj입니다! 오늘은 리눅스에서 파일 시스템을 마운트하는 방법에 대해 알아보겠습니다. 리눅스에서 파일 시스템을 마운트하는 과정은 매우 중요하며, 이를 통해 외부 장치나 다른 파티션에 접근할 수 있습니다. 시작해 볼까요? 1. 마운트의 기본 개념 마운트(mount)는 운영체제에서 파일 시스템을 특정 디렉토리에 연결하는 작업을 의미합니다. 이를 통해 사용자는 해당 파일 시스템에 있는 파일 및 디렉토리에 접근할 수 있습니다. 리눅스에서는 일반적으로 /mnt 또는 /media 디렉토리를 사용하여 마운트를 수행합니다. 2. 마운트할 장치 확인하기 먼저, 마운트할 장치를 확인해야 합니다. 이를 위해 lsblk 명령어를 사용합니다. lsblk 출력 예시: 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/data 3. 파일 시스템 마운트하기 이제 mount 명령어를 사용하여 파일 시스템을 마운트할 수 있습니다. 다음과 같은 형식으로 명령어를 입력합니다: sudo mount /dev/sda2 /mnt/data 위 명령어는 /dev/sda2 를 /mnt/data 에 마운트합니다. 마운트 후 df -h 명령어로 확인할 수 있습니다. df -h 출력 예시: Filesystem Size Used Avail Use% Mounted on /dev/sda1 100G 15G 80G 16% / /dev/sda2 400G 100G 300G 25% /mnt/data 4. 마운트 해제하기 마운트를 해제하려면 umount 명령어를 사용합니다. 다음과 같은 형식으로 입력합니다: sudo umount /mnt/data 마운트 해제 후 다시 df -h ...

리눅스에서 DNS 설정 및 관리 방법

안녕하세요, mj입니다! 오늘은 리눅스에서 DNS를 설정하고 관리하는 방법에 대해 알아보겠습니다. 리눅스에서 DNS란? DNS(도메인 네임 시스템)는 도메인 이름을 IP 주소로 변환해주는 시스템입니다. 리눅스에서 DNS 설정은 웹사이트 운영이나 네트워크 관리에서 중요한 역할을 합니다. 1. DNS 서버 설치하기 리눅스에서 DNS 서버를 설치하려면 다음 명령어를 사용하세요: sudo apt-get install bind9 설치가 완료되면 /etc/bind/named.conf.options 파일을 수정하여 DNS 서버의 옵션을 설정합니다. 2. DNS 레코드 설정하기 DNS 레코드는 도메인의 IP 주소와 관련된 정보를 저장하는 데 사용됩니다. 예를 들어, 다음과 같은 A 레코드를 설정할 수 있습니다: example.com. IN A 192.0.2.1 위의 설정은 example.com 도메인을 192.0.2.1 IP 주소에 매핑합니다. 3. 예시: 다양한 DNS 레코드 아래는 다양한 목적별 DNS 레코드의 예시입니다: A 레코드: example.com. IN A 192.0.2.1 AAAA 레코드: example.com. IN AAAA 2001:db8::1 CNAME 레코드: www.example.com. IN CNAME example.com. MX 레코드: example.com. IN MX 10 mail.example.com. TXT 레코드: example.com. IN TXT "v=spf1 include:_spf.example.com ~all" 4. DNS 서비스 재시작 DNS 설정을 변경한 후에는 서비스를 재시작해야 합니다. 다음 명령어를 실행하세요: sudo systemctl restart bind9 5. DNS 설정 확인하기 설정이 제대로 되었는지 확인하기 위해 dig 명령어를 사용할 수 있습니다: dig example.com 위 명령어를 입력하면 DNS 레코드 정보를 확인할 수...