AWS EC2에서 MySQL or mariaDB 설치

devdo·2023년 10월 3일
0

AWS

목록 보기
2/7
post-thumbnail

Ubuntu

MySQL 설치


sudo apt-get update

sudo apt-get install mysql-server

# mysql 버전 확인
mysql --version

sudo systemctl status mysql
# mysql 처음 접근시 비밀번호 없음
# 그냥 엔터하고 들어감
sudo mysql -uroot -p
# 단순 비밀번호 변경 => 하지 맙시다! (개인적으로 비추천!)
# ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
# FLUSH PRIVILEGES;

# EC2 연결이 root로는 들어가지 못하고 다음 dsg 처럼 다른 아이디에 등록이 가능!
# mysql) 들어와서 계정 생성 및 비밀번호 설정
mysql> CREATE USER 'dsg'@'%' IDENTIFIED BY '1234';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dsg'@'%';
mysql> FLUSH PRIVILEGES;

mysql> exit

sudo mysql -u dsg -p
> 1234

💥오류

java.sql.SQLException: Access denied for user 'root'@'localhost'

이상하게 root로 권한 접속이 안된다! 모든 권한을 다 줬는데도 말이다... 다른 아이디를 새로 생성하고 접속하면 된다!

해결)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

  • MySQL 데이타베이스 생성
mysql> CREATE DATABASE coupon;
mysql> SHOW DATABASES;
cd /etc/mysql/mysql.conf.d

sudo chmod 666 mysqld.cnf

vi mysqld.cnf

# bind-address // 주석처리

sudo systemctl restart mysql

/etc/mysql/mysql.conf.d/mysqld.cnf vs /etc/my.cnf

mysql.cnf는 Ubuntu 전용 mysql configuration 파일이고
my.cnf는 기본 mysql configuration 파일이다.

mysql 환경변수 중 set 쿼리로 해결하지 못하고 my.cnf 파일을 통하여 변경해야 하는 경우 해당 파일들을 변경시키면 된다.

근데 난 안됐음 ㅎㅎ 이유는
/etc/mysql/mysql.conf.d/mysqld.cnf 파일을 변경해야 했다!

+) mysqld.cnf 파일이란?
mysql server configuration 파일이라고 한다.

mysql server의 환경 변수는 해당 파일을 변경해야 변경된다!


** create 데이타베이스 및 user 설정

CREATE DATABASE malldb;

CREATE USER 'dsg'@'localhost' IDENTIFIED BY 'dsg'
GRANT ALL PRIVILEGES ON *.* TO 'dsg'@'%';

** AWS liux yum 설치 방법
https://velog.io/@sysy123/AWS-EC2-AWS-Linux-서버-MySQL-설치



MariaDB 설치

sudo apt-get update

sudo apt-get install mariadb-server

sudo systemctl status mariadb
# mysql 처음 접근시 비밀번호 없음
sudo mysql -u root
# mysql) 들어와서 계정 생성 및 비밀번호 설정
mysql> CREATE USER 'dsg'@'%' IDENTIFIED BY '1234';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dsg'@'%';

exit
mysql -u dsg -p
mysql> CREATE DATABASE coupon;
mysql> SHOW DATABASES;
sudo chmod 666 /etc/mysql/mariadb.conf.d/50-server.cnf

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

# bind-address // 주석처리

sudo systemctl restart mysql

그외

AWS 인바운드 규칙 3306 port 를 열어주셔야 합니다.

다음 블로그 참고!

https://velog.io/@seyoung755/AWS-EC2를-이용해-배포해보자-3-MySQL-서버-실행

profile
배운 것을 기록합니다.

0개의 댓글