우분투(Ubuntu) 22.04/20.04/18.04에 마리아 db 11.0 설치 하는 방법
Ubuntu 22.04/20.04/18.04에 MariaDB 11.0 설치
Ubuntu 시스템에서 MariaDB 데이터베이스 인스턴스를 실행하려면 이 섹션에 제공된 단계를 따르세요.
1단계: 시스템 업데이트
우리는 항상 시스템 업데이트로 설치를 시작합니다.
sudo apt update && sudo apt -y upgrade
업그레이드 후 재부팅이 필요한 경우 계속 진행하세요.
[ -f /var/run/reboot-required ] && sudo reboot -f
업그레이드가 완료되면 다음 단계로 넘어갈 수 있습니다.
2단계: MariaDB APT 저장소 추가
다음으로 Ubuntu 시스템에 MariaDB 11.x를 설치하는 데 필요한 패키지가 포함된 저장소를 추가합니다.
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=11.0
명령 실행에서 예상되는 출력입니다.
# [info] Checking for script prerequisites.
# [warning] Found existing file at /etc/apt/sources.list.d/mariadb.list. Moving to /etc/apt/sources.list.d/mariadb.list.old_1
# [info] MariaDB Server version 11.0 is valid
# [info] Repository file successfully written to /etc/apt/sources.list.d/mariadb.list
# [info] Adding trusted package signing keys...
# [info] Running apt-get update...
# [info] Done adding trusted package signing keys
3단계: MariaDB 11.0 서버/클라이언트 설치
다음으로 구성된 리포지토리에서 MariaDB 서버 및 클라이언트 패키지를 설치합니다.
sudo apt update
sudo apt -y install mariadb-server mariadb-client
모든 종속성은 자동으로 설치됩니다. 설치된 패키지의 버전을 확인하려면 다음 명령을 사용하십시오.
$ mariadb -V
mariadb from 11.0.1-MariaDB, client 15.2 for debian-linux-gnu (x86_64) using EditLine wrapper
4단계: 안전한 MariaDB 설치
mariadb-secure-installation은 다양한 보안 관련 작업을 수행하여 MariaDB 설치를 보호하는 데 사용되는 명령줄 도구입니다. 루트 사용자 또는 sudo 권한으로 명령을 실행해야 합니다.
sudo mariadb-secure-installation
MariaDB에 로그인하여 보안을 유지하려면 루트 사용자의 현재 비밀번호가 필요합니다. 방금 MariaDB를 설치했고 아직 루트 비밀번호를 설정하지 않은 경우 여기에서 Enter 키를 누르기만 하면 됩니다.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
루트 비밀번호를 설정하거나 unix_socket을 사용하면 적절한 인증 없이는 누구도 MariaDB 루트 사용자에 로그인할 수 없습니다.
Switch to unix_socket authentication [Y/n]
Enabled successfully!
Reloading privilege tables..
... Success!
새로운 비밀번호 설정에 동의하세요.
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
기본적으로 MariaDB 설치에는 익명 사용자가 있으므로 사용자 계정을 만들지 않고도 누구나 MariaDB에 로그인할 수 있습니다. 이는 테스트용으로만 사용되며 설치를 좀 더 원활하게 진행하기 위한 것입니다. 프로덕션 환경으로 이동하기 전에 이를 제거해야 합니다.
Remove anonymous users? [Y/n] y
... Success!
일반적으로 루트는 'localhost'에서만 연결이 허용되어야 합니다. 이렇게 하면 누군가가 네트워크에서 루트 비밀번호를 추측할 수 없습니다.
Disallow root login remotely? [Y/n] y
... Success!
기본적으로 MariaDB에는 누구나 액세스할 수 있는 'test'라는 이름의 데이터베이스가 제공됩니다. 이 역시 테스트용이므로 프로덕션 환경으로 이동하기 전에 제거해야 합니다.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
권한 테이블을 다시 로드하면 지금까지의 모든 변경 사항이 즉시 적용됩니다.
Reload privilege tables now? [Y/n] y
... Success!
위 단계를 모두 완료했다면 이제 MariaDB 설치가 안전해졌습니다.
5단계: MariaDB 설치 테스트
mariadb 라인 도구를 사용하여 데이터베이스 서버에 연결합니다.
mariadb -u root -p
연결이 성공했는지 확인하세요.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 42
Server version: 11.0.1-MariaDB-1:11.0.1+maria~ubu2204 mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
버전을 확인하려면 다음을 실행하세요.
MariaDB [(none)]> SELECT VERSION();
+---------------------------------------+
| VERSION() |
+---------------------------------------+
| 11.0.1-MariaDB-1:11.0.1+maria~ubu2204 |
+---------------------------------------+
1 row in set (0.001 sec)
MariaDB에서 데이터베이스를 생성하려면 다음 SQL 명령을 사용할 수 있습니다.
CREATE DATABASE database_name;
아래 예를 참조하세요.
CREATE DATABASE sample_db;
다음으로 다음 SQL 명령을 사용하여 사용자를 생성하고 권한을 부여합니다.
CREATE USER 'sample_db_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON sample_db.* TO 'sample_db_user'@'localhost';
새 데이터베이스에 샘플 데이터를 추가하려면 INSERT 명령을 사용할 수 있습니다. 예는 다음과 같습니다.
USE sample_db;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50)
);
INSERT INTO users (name, email) VALUES
('John Doe', '[email '),
('Jane Smith', '[email '),
('Bob Johnson', '[email ');
그러면 앞서 만든 로컬 sample_db 데이터베이스에 users라는 새 테이블이 생성되고 테이블에 세 개의 샘플 레코드가 삽입됩니다. 특정 요구 사항에 맞게 필요에 따라 샘플 데이터를 사용하여 테이블 구조를 수정할 수 있습니다. 데이터베이스와 사용자 삭제를 정리합니다.
drop database sample_db;
drop user sample_db_user@localhost;