데이터베이스는 웹 개발 및 애플리케이션 개발에서 필수적인 요소입니다. 이 글에서는 우분투(Ubuntu) 환경에서 MySQL 또는 MariaDB를 설치하고 설정하는 방법을 쉽고 자세히 설명하겠습니다. 또한, 데이터베이스를 PHP와 연동하는 방법도 함께 다룹니다.
MySQL과 MariaDB란?
- MySQL: 오라클(Oracle)이 개발 및 관리하는 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
- MariaDB: MySQL에서 파생된 데이터베이스로, MySQL과 높은 호환성을 유지하면서도 성능과 안정성을 개선한 오픈 소스 프로젝트입니다.
우분투에서는 MySQL 또는 MariaDB 중 하나를 선택하여 사용할 수 있으며, 설치 및 설정 방법은 매우 유사합니다.
1. MySQL 설치 방법
1.1. 패키지 업데이트
먼저 시스템의 패키지 목록을 최신 상태로 업데이트합니다.
sudo apt update
sudo apt upgrade -y
1.2. MySQL 서버 설치
MySQL 서버를 설치합니다.
sudo apt install -y mysql-server
1.3. MySQL 서비스 상태 확인
설치 후 MySQL 서비스는 자동으로 시작됩니다. 서비스 상태를 확인하려면:
sudo systemctl status mysql
1.4. MySQL 보안 설정
보안 설정 마법사를 실행하여 기본적인 보안 설정을 완료합니다.
sudo mysql_secure_installation
설정 항목:
- 루트 비밀번호 설정
- 익명 사용자 제거
- 원격 루트 로그인 비활성화
- 테스트 데이터베이스 삭제
- 권한 테이블 다시 로드
1.5. MySQL 접속 확인
MySQL에 접속하여 설치가 정상적으로 완료되었는지 확인합니다.
sudo mysql
2. MariaDB 설치 방법
MariaDB 설치 과정은 MySQL과 매우 유사합니다.
2.1. 패키지 업데이트
sudo apt update
sudo apt upgrade -y
2.2. MariaDB 서버 설치
sudo apt install -y mariadb-server
2.3. MariaDB 서비스 상태 확인
sudo systemctl status mariadb
2.4. MariaDB 보안 설정
sudo mysql_secure_installation
2.5. MariaDB 접속 확인
sudo mariadb
3. MySQL/MariaDB 초기 설정
3.1. 루트 사용자 비밀번호 설정
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '새로운비밀번호';
FLUSH PRIVILEGES;
3.2. 새로운 데이터베이스 생성
CREATE DATABASE my_database;
3.3. 새로운 사용자 생성 및 권한 부여
CREATE USER '새사용자'@'localhost' IDENTIFIED BY '사용자비밀번호';
GRANT ALL PRIVILEGES ON my_database.* TO '새사용자'@'localhost';
FLUSH PRIVILEGES;
3.4. 데이터베이스 목록 확인
SHOW DATABASES;
3.5. 종료
EXIT;
4. MySQL/MariaDB와 PHP 연동
4.1. PHP MySQL 모듈 설치
PHP에서 MySQL/MariaDB를 사용할 수 있도록 PHP MySQL 모듈을 설치합니다.
sudo apt install -y php-mysql
4.2. PHP-FPM 및 웹 서버 재시작
PHP와 웹 서버가 제대로 연동되도록 재시작합니다.
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx # Nginx 사용 시
sudo systemctl restart apache2 # Apache 사용 시
5. 데이터베이스 백업 및 복원
5.1. 데이터베이스 백업
mysqldump -u 사용자이름 -p 데이터베이스이름 > backup.sql
5.2. 데이터베이스 복원
mysql -u 사용자이름 -p 데이터베이스이름 < backup.sql
6. MySQL과 MariaDB 비교
항목 MySQL MariaDB
라이선스 | GPL 및 상업 라이선스 | GPL |
개발자 | Oracle | MariaDB 재단 |
성능 및 기능 | 기본적인 성능 | 고성능, 신기능 추가 |
MySQL과의 호환성 | 호환성 유지 | 대부분의 MySQL과 호환 |
'운영체제 (OS) > 리눅스 (Linux)' 카테고리의 다른 글
우분투에서 PHP 설치 및 Apache 연동 방법 완벽 가이드 (1) | 2025.01.28 |
---|---|
[PHP 설정 가이드] PHP-FPM 완벽 설정 방법 (0) | 2025.01.28 |
우분투 PHP 설치 및 Nginx 연동 가이드 (1) | 2025.01.27 |
Ubuntu에서 Apache 설치 및 설정하기 (1) | 2025.01.27 |
NGINX로 멀티 도메인 호스팅하기 (0) | 2025.01.27 |