이제 슬슬 DB쪽도 설치부터 정리를 한번 해보려 한다.
시간이 날때 하나하나 정리하다보니 글을 뒤죽박죽으로 쓰고 있는 것 같다..
일단 설치는 오래 걸리지 않으니
간단하게 작성해 보겠다.
먼저 설치가 되어 있는지 확인하는게 가장 먼저다.
rpm -qa | grep mysql
위의 사진 처럼 뭔가 덕지덕지 나오면 설치되어 있는거다.
만약 아무것도 뜨지 않거나,
맨 밑에 있는 pcp-pmda~~~~이것만 있으면 설치하면 된다.
이제 설치해보자.
설치 명령은(sudo는 root 로그인 중엔 불필요.)
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-8.noarch.rpm
인데, 뒤에 주소는 어떻게 가져오나 하면,
https://dev.mysql.com/downloads/repo/yum/ 해당 주소로 가서
원하는 버전의 링크를 가져오면 된다.
아니면 그냥 다운로드 받은 다음에
rpm -i 옵션 사용해서 직접 설치해도 된다.
설치가 완료 됐다면,
yum install -y mysql-server
해당 명령 실행하여 설치해주면 일단 설치까지는 끝난거다.
그럼 이제 잘 설치됐는지 확인해보자.
먼저 서비스를 시작해줘야 한다.
systemctl start mysqld
그리고 나서 root로 mysql에 로그인 해줘야 하는데,
뭐 다른 글들 찾아보면,
grep "temporary password" /var/log/mysqld.log
이런 식으로 임시 패스워드를 찾을 수 있다고 하는데,
rockey라 그런진 모르겠는데,
해당 경로도 grep "temporary password" /var/log/mysql/mysqld.log 이고,
안에 패스워드도 없다.
그래서 그냥 mysql 접속해서
계정 만들어서 사용하는 방식으로 했다.
먼저 mysql 접속하려면,
mysql
해당 명령 실행하면 위와 같이 접속된다.
그리고 나서 이제 root 계정의 패스워드를 바꿔준다.
alter user root@localhost identified by '바꿀비밀번호';
그리고 다시 root로 로그인
mysql -u root -p
입력하면, 비밀번호 치라고 나오고, 위에서 바꾼 비밀번호로 로그인 하면 된다.
그리고 나선 이제 내 계정을 만들어 줄건데,
create user 'jungjin'@'%' identified by '비밀번호';
여기서 '%'의 뜻은 모든 아이피 라는 뜻이다.
뭐 모든 아이피에서 원격 접속이 가능한 계정이다? 라고 보면 될 듯 하다.
계정은 만들었으니,
이제 권한을 줘야 한다.
grant all privileges on *.* to 'jungjin'@'%';
뭐 대강 보면 알겠지만 '*.*'은 개발자에게 익숙할테니 따로 설명하진 않겠다.
마지막으로
flush privileges;
뭐 정책 적용이라 보면 될 것 같다.
여기까지 하면 내 계정이 관리자로 전환된다.
이제 원격접속을 하기 위한 설정을 해야하는데,
먼저 /etc/my.cnf 파일에
아래의 내용을 추가해준다.
[mysqld]
bind-address = 0.0.0.0
의미는 모든 아이피에서 접속 가능하게 한다 정도로 보면 될 듯 하다.
여기까지 해준 후에, 서비스 재시작을 해준다.
systemctl restart mysqld
mysql은 3306 포트를 사용하는 것 같은데,
잘 등록됐다 보려면
netstat -an | grep 3306
netstat 명령 쳤을 때 위의 목록이 있으면 된다.
그리고 나서 iptable 정책을 설정해줘야 하는데,
뭐 일반 사용자의 경우는 그냥
iptables -F
써서 정책 다 삭제해주는 방법도 있고,
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
이런식으로 tcp에 3306포트 허용 정책을 넣어주는 방법도 있다.
iptables 관련된 내용은 나중에 기회가 된다면
한 번 정리해보도록 하겠다.
이상, rockey linux에 mysql 설치하는 방법이었다.
'DB > mysql' 카테고리의 다른 글
다중 치환(case) (1) | 2024.09.25 |
---|---|
DDL(Data Define Language) (0) | 2023.09.01 |