본문 바로가기
DevOps/리눅스

ubuntu 24.04 mysql 설치

by 광고(주) 2025. 3. 13.
반응형

패키지 목록 업데이트

sudo apt update
sudo apt upgrade -y

MySQL 서버 설치

sudo apt install -y mysql-server

MySQL 서비스 상태 확인

sudo systemctl status mysql
sudo systemctl enable mysql
sudo systemctl start mysql   # 시작
sudo systemctl stop mysql    # 중지
sudo systemctl restart mysql # 재시작

MySQL 보안 설정 (권장)

sudo mysql_secure_installation
VALIDATE PASSWORD COMPONENT 활성화: 비밀번호 강도를 검사하는 기능 (Y/N 선택 가능)
MySQL 루트 계정 비밀번호 설정
익명 사용자 제거
원격 루트 로그인 비활성화
테스트 데이터베이스 삭제
권한 테이블 새로고침

MySQL 접속

sudo mysql -u root -p

외부 접속 허용 설정
MySQL 설정 파일 수정

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1 => bind-address = 0.0.0.0

MySQL 사용자에게 원격 접속 권한 부여

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '새로운_비밀번호';

FLUSH PRIVILEGES;

DB 생성하기

create database [DB 이름];

user 생성 및 권한 부여 외부접속 모두 허용 '%'

use databasename;
CREATE USER [user 이름]@'%' IDENTIFIED BY '[password]';
GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'%';
GRANT ALL PRIVILEGES ON [DB 이름].* TO '[user 이름]'@'%';
GRANT ALL PRIVILEGES ON *.* TO '[user 이름]'@'%';
select host, user, grant_priv,select_priv,insert_priv,authentication_string from user;
show grants for 계정ID@localhost

변경사항 적용하기

flush privileges;

속성

useSSL: DB에 SSL로 연결
allowPublicKeyRetrieval: 서버에서 RSA 공개키를 검색하거나 가져와야하는지

jdbc:mysql://localhost:3306/test_db?useSSL=false&allowPublicKeyRetrieval=true

Mysql 삭제

dpkg -l | grep mysql
sudo apt-get remove --purge mysql*
반응형

댓글