힘들어요... 힘들었어요...
일단 컨테이너로 띄울 때 호스트 컴퓨터에서 쉽게 접근하려면 포트바인딩 설정을 해주는게 좋다. 이렇게 안하고 발광을 2~3시간을 했다. 그냥 포트바인딩 해서 컨테이너 띄우고 그대로 연결해주면 된다.
mysql의 기본 포트번호는 3306이다. 앞에 있는 포트번호가 우리가 접속할 포트번호다.
이렇게 설정할 경우 해당 Container를 우리 컴퓨터에서 호스팅하고 있다고 했을 때 localhost:30361로 컨테이너 내부 3306포트로 접근할 수 있다. 짱짱
ocker run --privileged -it -d --name test_mysql -p 33061:3306 centos:latest /sbin/init
sh-4.4# yum update
CentOS Linux 8 - AppStream 85 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
에러가 발생한다. 이게 mirrolist가 repository 같은 역할을 해줬는데 지원을 중단했다고 하는 것 같다. 그래서 해당 연결을 다른 url로 바꿔준다. 다시 잘 된다.
[root@chhan-c8 ~]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
[root@chhan-c8 ~]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
yum update
yum install net-tools
yum install vim
yum install wget
sudo가 안된다. ⇒ 관리자 권한으로 실행할 때 필요한 친군데 안된다. 그래서 설치를 해줬ㄷ.
su- (위의 명령어로 root 계정으로 들어간다)
yum install sudo -y ( sudo 설치 )
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
sudo yum module disable mysql
sudo yum install mysql-community-server
sudo systemctl start mysqld
mysql을 처음 시작할 때 비번을 입력해도 되고 안 해도 되는데 일단 입력해야될 때를 기준으로 작성하겠다. 안 해도 될 때는 그냥 엔터를 치면 바로 mysql 환경으로 넘어간다.
sudo grep 'temporary password' /var/log/mysqld.log
위 명령어 입력하면 랜덤으로 지정된 비밀번호를 받을 수 있다.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Passw0rd12#';
위와 같은 식으로 변경해주면 된다 .
마지막으로 mysql에서 포트를 열어줘야한다.
CREATE USER 'user'@'%' IDENTIFIED BY 'Tlmm3PjdJ*';
grant all on *.* to user@'%';
flush privileges;
위 순서대로 입력해서 user라는 유저에게 모든 권한을 부여한뒤 아래와 같이 Connection 설정을 주면 된다.
