우분투에서 MySQL DB 외부 접속 허용 방법

제목 그대로 아래와 같은 환경에서 외부에서 MySQL DB에 접속하는 방법이다.

  • OS : Ubuntu 22.04
  • Apache : 2.4.52
  • PHP : 8.1.2
  • MySQL : 8.0.30
  • ufw status : inactive (비활성)
  • DBMS Client : DBeaver Community 22.1.5

적용 전에 아래 글들을 참고했다.

이어서 적용한 순서는 아래와 같다.

  1. 터미널에서 netstat -tnlp  입력
  2. 127.0.0.1:3306localhost(127.0.0.1)만 접속 가능하고 외부 접속은 비허용 상태 확인
  3. 터미널에서 mysql -u root -p 입력
  4. mysql> GRANT ALL PRIVILEGES ON <접속DB>.* TO '<사용자명>'@'%'; ⇒ 외부 접속 가능하도록 권한 부여
  5. mysql> flush privileges;
  6. mysql> commit;
  7. mysql> quit
  8. sudo vi /etc/mysql/mysql.cnf 입력하여 [Before][After]로 수정
    [Before]

    #
    # The MySQL database server configuration file.
    #
    # You can copy this to one of:
    # - "/etc/mysql/my.cnf" to set global options,
    # - "~/.my.cnf" to set user-specific options.
    #
    # One can use all long options that the program supports.
    # Run program with --help to get a list of available options and with
    # --print-defaults to see which it would actually understand and use.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
    
    #
    # * IMPORTANT: Additional settings that can override those from this file!
    #   The files must end with '.cnf', otherwise they'll be ignored.
    #
    
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/

    [After]

    #
    # The MySQL database server configuration file.
    #
    # You can copy this to one of:
    # - "/etc/mysql/my.cnf" to set global options,
    # - "~/.my.cnf" to set user-specific options.
    #
    # One can use all long options that the program supports.
    # Run program with --help to get a list of available options and with
    # --print-defaults to see which it would actually understand and use.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
    
    #
    # * IMPORTANT: Additional settings that can override those from this file!
    #   The files must end with '.cnf', otherwise they'll be ignored.
    #
    
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/
    
    [mysqld]			# 추가
    port=3306 # or any other port	# 추가
    bind-address=0.0.0.0		# 추가
  9. sudo systemctl restart mysql 입력하여 mysql 재기동

아래는 상기 적용한 내용과 관련된 이미지들이다.




댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.