본문 바로가기

리눅스

[draft] 리눅스에서 MySQL Binary 파일을 이용하여 MySQL 서버를 수동 설치하는 방법

리눅스에서 MySQL Binary 파일을 이용하여 MySQL 서버를 수동 설치하는 방법

Linux에서 MySQL Binary Tar 파일을 이용하여 MySQL 서버를 수동 설치하는 방법입니다.

1. MySQL 다운로드

MySQL 공식 웹사이트 (https://dev.mysql.com/downloads/mysql/)에서 해당 버전의 tar 파일을 다운로드합니다.

MySQL

작업 디렉토리로 이동

cd /usr/local/src
mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz

설치 디렉토리 생성

  • MySQL을 설치할 디렉토리를 생성합니다.
sudo mkdir -p /usr/local/mysql

tar 파일 압축 해제

sudo tar xvf mysql-*.tar -C /usr/local/mysql --strip-components=1

2. MySQL 사용자 및 그룹 생성

MySQL을 실행할 사용자와 그룹을 생성합니다.

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

3. MySQL 데이터 디렉토리 생성 및 권한 설정

MySQL 데이터를 저장할 디렉토리를 생성하고 MySQL 사용자 및 그룹에 대한 권한을 설정합니다.

sudo mkdir -p /usr/local/mysql/data

권한 설정

sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod 750 /usr/local/mysql/data

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

MySQL 초기화 스크립트를 실행하여 데이터 디렉토리를 초기화합니다.

sudo /usr/local/mysql/bin/mysqld \
  --initialize-insecure \
  --user=mysql \
  --basedir=/usr/local/mysql \
  --datadir=/usr/local/mysql/data
--initialize 옵션을 사용하면 임시 root 비밀번호가 생성된다.

5. MySQL 구성 파일 작성

MySQL 구성 파일을 작성합니다.

sudo vi /etc/my.cnf
[mysqld]
bind-address = 0.0.0.0
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql_error.log

mysqlx=OFF

[client]
port = 3306
socket = /tmp/mysql.sock

6. MySQL 서비스 등록

MySQL을 시스템 서비스로 등록합니다.

sudo vim /etc/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
Restart=always

[Install]
WantedBy=multi-user.target

MySQL 서비스 시작

sudo systemctl start mysql

서비스 상태 확인

sudo systemctl status mysql

MySQL 부팅 시 자동 시작 설정

sudo systemctl enable mysql

7. 초기 비밀번호 확인

MySQL 초기화를 수행할 때 생성된 임시 암호를 확인합니다.

sudo grep 'temporary password' /usr/local/mysql/data/mysql_error.log

root 비밀번호 변경

  • MySQL 초기 암호를 사용하여 로그인한 후 암호를 변경합니다.
mysql -u root -p
  • 비밀번호 변경
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
exit

8. 설치 확인

MySQL 접속 테스트

mysql -u root -p

정상적으로 접속되면 다음과 같은 MySQL Shell이 표시된다.

mysql>