'vagrant mariadb 설치'에 해당되는 글 1건

  1. 2025.04.05 Vagrant 1.3편-Rocky Linux 에 MariaDB 설치 1

Vagrant 로 Rocky Linux 에 MariaDB 를 설치해보겠습니다.

이번에는 VM 3개에 MariaDB 를 설치하여 Multi-Tenant 를 구성해보겠습니다.

Multi-Tenant 는 단일 인스턴스가 여러 고객에게 서비스를 제공하는 아키텍처를 말합니다.

이제 MariaDB가 각기 다른 테넌트의 데이터베이스를 처리하도록 설정되었습니다. 이를 통해 여러 애플리케이션이 각기 다른 데이터베이스에 연결하여 독립적으로 작업할 수 있습니다. 예를 들어, 애플리케이션은 다음과 같이 각 MariaDB 인스턴스에 연결할 수 있습니다.

테넌트 1: mariadb1:3306

테넌트 2: mariadb2:3307

테넌트 3: mariadb3:3308

각 애플리케이션은 테넌트마다 고유한 데이터베이스에 연결하여 데이터를 처리하게 됩니다.

 

ChatGPT 에 사용한 프롬프트입니다

vagrant 로 virtualbox 에 rocky linux 9 에 mariadb 를 설치하는 VM 3개를 만들어주세요.
VM 의 IP 는 192.168.56.20, 192.168.56.21, 192.168.56.22 로 설정하고 
VM 이름은 maridb20, maridb21, maridb22 으로 설치하는 방법을 단계별로 알려주세요.
mariadb 는 password vagrant 로 접속 가능하게 해주세요.
외부에서 3306 포트로 접속이 가능하게 해주세요.
sample db 도 만들고 sample table 도 생성하고 sample data 도 추가해주세요.

 

1) Vagrant 설치

Vagrant 1.1편-Vagrant설치 를 참고해주세요.

2) 프로젝트 폴더 생성

프로젝트 폴더를 만들어주어야 합니다.

mkdir vagrant-rocky-mariadb
cd vagrant-rocky-mariadb

 

3) Vagrantfile 생성

생성된 Vagrantfile 입니다.

다음 파일은 아래 git 에서 다운받을 수 있습니다.

git clone git@github.com:jbpark/jbDeskExample.git
cd jbDeskExample/vagrant/ch1.3

 

프로젝트 폴더에 아래 Vagrnatfile 을 생성해주세요.

Vagrantfile

Vagrant.configure("2") do |config|
  nodes = [
    { :name => "mariadb20", :ip => "192.168.56.20" },
    { :name => "mariadb21", :ip => "192.168.56.21" },
    { :name => "mariadb22", :ip => "192.168.56.22" }
  ]

  nodes.each do |node|
    config.vm.define node[:name] do |node_config|
      node_config.vm.box = "rockylinux/9"
      node_config.vm.hostname = node[:name]
      node_config.vm.network "private_network", ip: node[:ip]

      node_config.vm.provider "virtualbox" do |vb|
        vb.name = node[:name]
        vb.memory = 1024
        vb.cpus = 1
      end

      node_config.vm.network "forwarded_port", guest: 3306, host: 3306, auto_correct: true

      node_config.vm.provision "shell", inline: <<-SHELL
        dnf install -y mariadb-server
        systemctl enable mariadb
        systemctl start mariadb

        echo "[+] Configuring MariaDB to allow remote access..."

        # bind-address=0.0.0.0 설정
        sed -i 's/^bind-address=127.0.0.1/bind-address=0.0.0.0/' /etc/my.cnf.d/mariadb-server.cnf || \
        echo -e "[mysqld]\nbind-address=0.0.0.0" >> /etc/my.cnf.d/mariadb-server.cnf

        systemctl restart mariadb

        echo "[+] Creating remote-accessible root user..."
        mariadb -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'vagrant' WITH GRANT OPTION;"
        mariadb -e "FLUSH PRIVILEGES;"

        echo "[+] Creating sample DB, tables, and inserting sample data..."
        mariadb -u root <<EOF
CREATE DATABASE IF NOT EXISTS sample;
USE sample;

CREATE TABLE IF NOT EXISTS users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE IF NOT EXISTS products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    price DECIMAL(10, 2),
    stock INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO users (name, email) VALUES
    ('Alice', 'alice@example.com'),
    ('Bob', 'bob@example.com'),
    ('Charlie', 'charlie@example.com');

INSERT INTO products (name, price, stock) VALUES
    ('Laptop', 1200.00, 10),
    ('Smartphone', 800.00, 25),
    ('Headphones', 150.00, 50);
EOF

        echo "[+] Opening firewall for MariaDB..."
        firewall-cmd --permanent --add-port=3306/tcp
        firewall-cmd --reload
      SHELL
    end
  end
end

 

4) VM 생성 및 구동

vagrant up

 

5) VM 접속

각 VM 에는 아래와 같이 접속이 가능합니다.

vagrant ssh mariadb20
vagrant ssh mariadb21
vagrant ssh mariadb22

 

6) MariaDb 접속

Dbeaver 로는 Database Client 프로그램으로 접속해보겠습니다.

✅ 1. DBeaver 다운로드 및 설치

  1. 공식 홈페이지 방문
    👉 https://dbeaver.io/download/
  2. OS에 맞는 설치파일 다운로드
    • Windows: DBeaver Community Edition Windows Installer
    • Mac: .dmg
    • Linux: .deb 또는 .rpm
  3. 설치 프로그램 실행 후, 기본 설정으로 설치 진행

✅ 2. MariaDB 접속 정보 확인

MariaDB 서버가 로컬 Vagrant VM에서 구동 중이라면 다음과 같이 확인하세요:

항목
Host 192.168.56.20 또는 192.168.56.21 또는 192.168.56.22
Port 3306
User root
Password vagrant
Database sample

※ vagrantfile에서 root 사용자의 비밀번호를 vagrant로 설정한 경우입니다.


✅ 3. DBeaver에서 MariaDB 접속

  1. DBeaver 실행 후 왼쪽 상단 [Database] → [New Database Connection] 클릭
    또는 단축키 Ctrl + N
  2. 검색창에 "MariaDB" 입력 → MariaDB 선택 → Next
  3. 다음 정보를 입력:
  4. yaml
    복사편집
    Host: 127.0.0.1 Port: 3306 Database: sample Username: root Password: vagrant
  5. [Test Connection] 버튼 클릭 → 정상 연결되면 성공
  6. Finish 버튼을 눌러 접속 완료

192.168.56.22 에 접속한 예입니다.

 


✅ 4. 접속 확인

  • 왼쪽 탐색창에서 sample DB 아래 tables 를 확장하면
    users, products 테이블을 볼 수 있습니다.
  • 마우스 우클릭 → View Data → View All Rows 선택 시 데이터 조회 가능

'유틸리티 > Vagrant' 카테고리의 다른 글

Vagrant 1.2편-Rocky Linux 에 Oracle 설치  (2) 2025.03.31
Vagrant 1.1편-Vagrant설치  (1) 2025.03.30
Posted by 제이브레인
,