본문 바로가기

리눅스

우분투 24.04에서 MySQL 8.4 LTS 바이너리(Binary) 방식으로 설치하는 방법

반응형

우분투 24.04에서 MySQL 8.4 LTS 바이너리(Binary) 방식으로 설치하는 방법

테스트 환경

운영체제 정보

$ lsb_release -d
Description:	Ubuntu 24.04.1 LTS
$ uname -m
aarch64

1. 기본 패키지 설치

MySQL 실행 및 압축 해제를 위한 필수 패키지를 설치합니다.

apt update
apt install -y lsb-release wget gzip xz-utils

2. MySQL 패키지 설치

apt install -y libaio1t64 libnuma1 libncurses6

libaio 심볼릭 링크 생성

우분투 24.04에서는 libaio.so.1 대신 libaio.so.1t64 형태로 제공되므로 심볼릭 링크를 생성해야 합니다.

 

ARM64(aarch64)

ln -s /usr/lib/aarch64-linux-gnu/libaio.so.1t64 \
  /usr/lib/aarch64-linux-gnu/libaio.so.1

x86_64

더보기

---

apt install -y libaio1
ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 \
  /usr/lib/x86_64-linux-gnu/libaio.so.1
CPU 아키텍처에 맞는 경로만 적용하면 됩니다.

---

2. MySQL 계정 및 그룹 생성

MySQL 전용 계정 및 그룹을 생성합니다.

groupadd -g 28 mysql

useradd -m -c "MySQL Server" -d /usr/local/mysql -s /usr/sbin/nologin -u 28 -g 28 mysql

3. MySQL 바이너리 다운로드

소스 디렉터리로 이동 후 MySQL 8.4 LTS 바이너리를 다운로드합니다.

cd /usr/local/src/

wget https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.9-linux-glibc2.28-aarch64.tar.xz
ARM64(aarch64) 환경 기준 바이너리입니다.

4. MySQL 설치 디렉터리 생성 및 압축 해제

mkdir -p /usr/local/mysql

tar xf mysql-8.4.9-linux-glibc2.28-aarch64.tar.xz -C /usr/local/mysql --strip-components=1

5. 데이터 및 로그 디렉터리 생성

mkdir -p /usr/local/mysql/{data,log}

chown -R mysql:mysql /usr/local/mysql

6. MySQL 설정 파일 생성

/usr/local/mysql/my.cnf 파일을 생성합니다.

cat << 'EOF' > /usr/local/mysql/my.cnf
[mysqld]

# MySQL 실행 계정
user = mysql

# 기본 디렉터리
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

# 소켓 및 PID
socket = /tmp/mysql.sock
pid-file = /usr/local/mysql/data/mysqld.pid

# 에러 로그
log-error = /usr/local/mysql/log/error.log

# MySQL 8.4 인증 정책
authentication_policy = *

[client]
socket = /tmp/mysql.sock
EOF
728x90

7. MySQL 데이터베이스 초기화

초기 데이터베이스를 생성합니다.

/usr/local/mysql/bin/mysqld \
  --defaults-file=/usr/local/mysql/my.cnf \
  --initialize-insecure \
  --user=mysql

옵션 설명

  • --initialize-insecure : root 비밀번호 없이 초기화
  • --user=mysql : mysql 계정으로 실행

8. MySQL 서버 실행

/usr/local/mysql/bin/mysqld \
  --defaults-file=/usr/local/mysql/my.cnf \
  --user=mysql &

정상 실행 여부 확인

ps -ef | grep -v grep | grep mysqld
mysql     3235     1  0 13:55 pts/0    00:00:01 /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --user=mysql

9. MySQL 접속

/usr/local/mysql/bin/mysql -u root -S /tmp/mysql.sock

10. root 비밀번호 설정

초기 설치 후 root 비밀번호를 설정합니다.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword123!';

FLUSH PRIVILEGES;
EXIT;

11. 비밀번호 적용 후 재접속

/usr/local/mysql/bin/mysql -u root -p

12. MySQL 종료

정상 종료 방법

kill $(cat /usr/local/mysql/data/mysqld.pid) 2>/dev/null

종료 여부 확인

ps -ef | grep -v grep | grep mysqld

13. 트러블슈팅

데이터 디렉터리 초기화 오류 발생 시

  • 초기화 실패 또는 권한 오류가 발생한 경우 아래 절차로 재초기화합니다.
rm -rf /usr/local/mysql/data/*

chown -R mysql:mysql /usr/local/mysql

이후 다시 초기화 수행

/usr/local/mysql/bin/mysqld \
--defaults-file=/usr/local/mysql/my.cnf \
--initialize-insecure \
--user=mysql

14. PATH 환경 변수 등록 (선택)

자주 사용하는 경우 PATH 등록을 권장합니다.

cat << 'EOF' > /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
EOF

source /etc/profile.d/mysql.sh

적용 확인

mysql --version
mysql  Ver 8.4.9 for Linux on aarch64 (MySQL Community Server - GPL)

15. 설치 확인

mysql -u root -p -e "SHOW DATABASES;"
Enter password:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

정상적으로 데이터베이스 목록이 출력되면 설치가 완료된 것입니다.

 

728x90
반응형