ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서버 이관을 해보자 - 1. mysql
    개발/개발관련 2020. 10. 21. 15:59
    반응형

    0. 서버세팅을 해보자

    서버를 하나 받았다. 기존에 오래된 서버를 새로운 서버로 옮겨야한다.
    보안팀에서 아파치, 톰캣, mysql은 설치만 해서 주었다.

    1. mysql 내 로컬에서 db툴로 접속해보기

    root계정으로 접속한다.
    mysql 실행 - mysql 깔린 폴더에 bin 폴더로 이동한다.

    > mysql
    -- accesss denied for user root~~~ 이런 에러는 비밀번호를 같이 입력해야 접속이 된다는 뜻이다.
    
    > mysql -p
    -- -p를 붙이면 비밀번호를 입력하라고 나온다. mysql 계정의 비번을 입력하면 cmd창에 mysql>이라고 나오면 성공!

    이렇게 서버 로컬에서 mysql 접속은 성공했는데 내 로컬에서 접속을 테스트 해봐야한다.

    그런데... host is not allowed to connect to this mysql server 라는 에러가 발생하면서 연결이 안된다.

    내 로컬과 디비 서버에 연결이 뭐가 안되는 것인지 확인을 해야한다.

    포트가 열려있는가 -> 정보보안팀에 확인할 결과 열려있고 netstat -tnlp 확인결과도 열려있다.

     

    위 에러를 구글링 해본 결과 mysql은 기본적으로 로컬에서만 접속 가능하도록 되어있다고한다. 그래서 별도의 설정을 해줘야 원격 접속이 가능하다.

    -- 1. root 접속권한 확인
    mysql> select host, user from mysql.user;
    -- host에 localhost, user에 root가 뜨는 것을 확인 할 수 있다.
    
    -- 2. 원격접속허용
    -- 원격 유저 생성(개발서버이기때문에 원격유저 생성은 안할것이다. 하고싶으면 맡에와 같은 명령어를 입력하면된다.)
    mysql> create user '사용자'@'localhost' identified by '비밀번호';
    
    -- 모든 ip 허용
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '패스워드';
    
    -- 특정 ip, ip 대역만 허용하고 싶다면 아래 사이트에 들어가면 나와있다.
    -- https://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9
    
    -- 3. 모든 ip 허용한 경우 원상 복구
    mysql> DELETE FROM mysql.user WHERE Host='%' AND User='아이디';
    mysql> FLUSH PRIVILEGES;
    

    내 로컬 디비 툴에서 접속이 잘 되는지 다시 확인해보면 접속이 잘 된다!

    2. 구서버에서 신서버로 디비 복사하기

    디비 백업받는건 많이 나오니까 패스. 나는 로컬에 백업받은 자료들이 있어서 파일질라로 옮겨서 넣어주려했는데... 접속이 안된다.
    정확히 말하자면 root계정으로 접속이 안된다.

    찾아보니 sshd_config파일을 수정해줘야한다.

    vi /etc/ssh/sshd_config

    PermitRootLogin yes 로 변경하고 저장후 재시작한다.

    -- 재시작
    service sshd restart

    그러고 다시 파일질라에서 root 계정으로 접속하면 접속도되고 파일도 주고받을 수 있다.

    mysql 설치 위치에서 bin폴더 밑에서 아래 명령어를 실행하면 된다.

    > mysqldump -u아이디 -p 디비명 < 파일명.sql;

    그러면 비밀번호 입력하면 디비데이터들이 잘 들어간다

    만약에 잘 안들어간다면 sql 파일을 열어서 구서버의 내용이 있는지 검색해보고 수정해주어야한다.

    디비 확인하면 끝~!

     

     

     

     

    반응형

    댓글

Designed by Tistory.