redis 설치

  1. sudo apt update

  2. sudo apt install redis-server

    에러 발생

    Untitled

    해결 방법

    1. sudo vi /etc/redis/redis.conf
    2. bind 0.0.0.0 ::1 을 0.0.0.0 으로 변경하여 ipv6를 비활성화

참고 - 로컬 환경에서 배포 서버 redis에 접근하기

npm i -g redis-cli
rdcli -h 118.67.129.165 ping
  1. sudo vi /etc/redis/redis.conf

    ...
    
    # 주석 해제 후 원하는 비밀번호 입력
    requirepass ****
     
    ...
    
  2. 서비스 재 시작 sudo systemctl restart redis-server.service

mysql 설치

  1. mysql 서버 설치

    # mysql을 원활하게 설치하기 위한 사전 세팅
    sudo apt upgrade -y
    sudo apt install language-pack-ko
    sudo locale-gen ko_KR.UTF-8
    sudo update-locale LANG=ko_KR.UTF-8 LC_MESSAGES=POSIX
    
    # mysql 서버 설치
    sudo apt install -y mysql-server
    
  2. sudo mysql_secure_installation

    복잡한 비밀번호를 사용할 것인가? no

    anonymous user를 삭제할 것인가?

    yes

    일반적으로 root 유저는 localhost에서만 접속 가능하도록 설정하는데 원격 접속을 허용하지 않을 것인가?

    no

    test DB를 삭제할 것인가?

    yes

    위의 변경 사항들을 반영해 privilege tables을 reload 할 것인가?

    yes

  3. mysql server config 파일 수정

    /etc/mysql/my.cnf

    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld]
    collation-server = utf8_unicode_ci
    init-connect='SET NAMES utf8'
    character-set-server = utf8
    
  4. root 유저에 원격 접속이 가능하도록 설정

    # auth_socket 대신 mysql_native_password 사용
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '****';
    mysql> FLUSH PRIVILEGES;
    
    # 원격 호스트 추가
    mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    mysql> FLUSH PRIVILEGES;
    mysql> select HOST,User,plugin,authentication_string from mysql.user;
    

    output

    +-----------+------------------+-----------------------+-------------------------------------------+
    | HOST      | User             | plugin                | authentication_string                     |
    +-----------+------------------+-----------------------+-------------------------------------------+
    | localhost | root             | mysql_native_password | *ED0C1FD8A8566A60E28044B867C10DBA52C8BAD4 |
    | localhost | mysql.session    | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | localhost | mysql.sys        | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | localhost | debian-sys-maint | mysql_native_password | *4773C08E93AD4F97B5D3BB5C8D9767E62D56179D |
    | %         | root             | mysql_native_password | *ED0C1FD8A8566A60E28044B867C10DBA52C8BAD4 |
    +-----------+------------------+-----------------------+-------------------------------------------+
    

    참고

    원격 호스트를 추가하지 않고 DB 원격 접속을 하려고 하면 다음과 같은 오류가 발생한다

    Connection error!Host '***.***.***.***' is not allowed to connect to this MySQL server
    
  5. database 생성

    CREATE DATABASE japari default CHARACTER SET UTF8;
    
  6. DB 원격 접속

    mysql -h [공인IP] -u root -p
    

    Untitled