OS/Install & Modify
[Linux] MariaDB 10.6 수동 설치
PeamS
2025. 9. 15. 10:58
준비 & 테스트 환경
테스트 환경
- rocky linux 9.4 (최소 설치)
https://mariadb.org/download/?p=mariadb&r=10.6.23&os=windows&t=mariadb
빌드 시 필요한 패키지 (환경에 따라 추가 패키지 설치가 필요할 수도 있음)
dnf install gcc gcc-c++ openssl-devel cmake zlib-devel ncurses-devel pcre2-devel
설치
압축 해제
cd /usr/local/src
wget https://tw1.mirror.blendbyte.net/mariadb///mariadb-10.6.23/source/mariadb-10.6.23.tar.gz
tar xvfz mariadb-10.6.23.tar.gz
cd mariadb-10.6.23
cmake 빌드 (원하는 환경에 맞게 수정 해야 함)
- BASE 경로는 /app/mariadb
- DATA 경로는 /data/mariadb
- CHARSET, COLLATION 은 utf8
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mariadb \
-DMYSQL_DATADIR=/data/mariadb \
-DINSTALL_SYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci\
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_ZLIB=system \
-DWITHOUT_TOKUDB=1
make & make install
make -j8
make install -j8
-j(숫자) : 사용할 CPU 개수를 지정하여 더 빠르게 빌드할 수 있다. (서버 CPU 개수, 부하 고려)
my.cnf 생성
cat <<EOF > /etc/my.cnf
[client-server]
!includedir /etc/my.cnf.d
[mysqld]
datadir=/data/mariadb
socket=/app/mariadb/mariadb.sock
symbolic-links=0
lower_case_table_names=1
collation-server=utf8_general_ci
character-set-server=utf8
skip-character-set-client-handshake
max-allowed-packet=16M
skip-name-resolve
log-error=/var/log/mariadb/error.log
[client]
socket=/app/mariadb/mariadb.sock
EOF
계정 생성 등 기타 작업
useradd mariadb
mkdir -p /app/mariadb
mkdir -p /data/mariadb
mkdir -p /var/log/mariadb
mkdir -p /etc/my.cnf.d
touch /var/log/mariadb/error.log
# 기본 데이터베이스 생성
/app/mariadb/scripts/mariadb-install-db --defaults-file=/etc/my.cnf
chown -R mariadb.mariadb /app/mariadb
chown -R mariadb.mariadb /data/mariadb
chown mariadb.mariadb -R /var/log/mariadb
chown -R mariadb.mariadb /etc/my.cnf.d/
systemd 파일 생성
cat <<EOF> /etc/systemd/system/mariadb.service
[Unit]
Description=MariaDB Database Server 10.6 (Custom Build)
After=network.target
[Service]
User=mariadb
Group=mariadb
ExecStart=/app/mariadb/bin/mariadbd --defaults-file=/etc/my.cnf --basedir=/app/mariadb
LimitNOFILE=10240
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
서비스 시작 & 자동시작
systemctl daemon-reload
systemctl enable --now mariadb
심볼릭 등록 (선택, 필요 시 다른 명령어도 등록하시면 됩니다.)
ln -s /app/mariadb/bin/mariadb /usr/bin/mysql
ln -s /app/mariadb/bin/mariadb-dump /usr/bin/mysqldump
아직까진 mysql 이름이 편하다..