[데이터베이스] - 리눅스 환경에서 mySQL 다운로드, 디비거에 우분투 mysql 연동 & sql 파일 사용

yeom yaloo·2023년 11월 29일
0

FISA

목록 보기
15/61
post-thumbnail

[linux 환경에 mysql 다운]

  1. 리눅스 띄우기 (윈도우 환경에서 virtual box(=가상환경)를 이용해서 우분투 환경을 띄우기
  2. mobaxterm과 같은 툴을 이용해서 리눅스 환경을 조금 더 편하게 사용하기
  3. 리눅스 환경 안에서 jdk, mysql과 같은 프로그램 다운로드 및 사용 환경 구축하기 작업

1. vb에서 리눅스 띄우기

2. mobaXterm에서 해당 환경을 연동 (virtual box에서 진행해도 무관)

[mysql 우분투에 설치 관련 명령어]

  • sudo apt install mysql-server
    • sudo 명령어 자체가 super user처럼 접근할 수 있게 하기 때문에 해당 명령어를 이용해서 우분투 내에
  • mysql --version
  • sudo systemctl status mysql

윈도우에 있는 디비거가 우분투에 있는 mysql에 접근하려면?
1. 우분투에 일단 접속을 해야 한다.

3. mysql 8버전 이후 보안 강화로 root plugin 권한 변경

  • 별도의 설정파일 변경이나 방화벽을 풀지 않아도 root plugin 권한 변경으로도 충분히 해결 가능하게 해준다.

[윈도우 환경에서도 mysql를 구동하고, 우분투를 실행하여 mysql를 구동할 때]

  • 만약 윈도우 환경에서 우분투를 실행했을 때, 윈도우(로컬) 환경에서도 mysql를 실행하면 충돌 문제가 있을 수 있다.

1. 찾기에서 서비스에 접근

2. mysql 서비스 중지

[ubuntu 내에 설치한 mysql 접속]

1. root 계정 자동 생성, password는 빈값으로 자동 설정

  • super user로 해당 데이터베이스에 접근
    sudo mysql -u root -p
  • 접속 후 mysql에서 데이터베이스 확인
    show databases;

2. root 계정에 비밀번호 부여

alter user 'root'@'localhost' identified with mysql_native_password by 'root';

  • 해당 root 계정의 비밀번호를 root로 변경

exit

  • mysql 종료

[디비거 DBeaver]

1. 디비거에서 ubuntu 접속

  • 데이터베이스 추가에서 connection settins에서 ssh 설정을 건들이면 된다.
  • 이때 mysql의 보안 강화 문제로 root plugin의 변경을 진행하지 않으면 해당 작업이 되지 않는다.

2. mysql의 보안 강화로 root plugin 변경 작업

  • 우분투에 깔아둔 mysql 접속
    sudo mysql -u root -p
  • mysql 데이터베이스 사용
    use mysql;
  • 우분투 mysql내에서 user테이블의 해당 정보를 출력
    mysql> select user, host, plugin from user;
  • root plugin 변경
    mysql> update user set plugin='mysql_native_password' where user='root';
  • 우분투 mysql내에서 변경된 root plugin user테이블의 해당 정보를 출력
    mysql> select user, host, plugin from user;

-수정 사항 적용
mysql> flush privileges;

3. 디비거에 우분투 mysql 연결

  • main 설정에서는 mysql 설정 정보를 넣어준다.

  • ssh에는 우분투와 관련된 정보를 넣어준다.
  • 해당 정보는 Virtual box를 이용해서 우분투에 접속했을 때 포트 포워딩 작업에서 설정한 host ip와 port를 넣어주어야 한다.

업로드중..

  • 위에 설명한 vb에서 설정해준 네트워크 포트 포워딩 작업

[디비거에서 sql 파일 사용]

1. 디비거에서 sql 파일 사용 방법

업로드중..

  • active database 설정
  • 스크립트를 실행하면 해당 sql문이 데이터베이스 내에 저장된다.

2. 결과

[타이타닉 관련 테이블을 넣은 상황]
업로드중..
[정보 검색도 됨]
업로드중..

[SSH]

0. ssh 등장 배경

  • 로그인 시 아이디와 비밀번호가 네트워크상에 그대로 전송되는 문제가 발생
  • 이를 해결하기 위해서 보안을 강화한 프로토콜을 만들어 적용

1. ssh?

  • 윈도우에서 리눅스 접근할 때 보안을 고려한 통신 프로토콜이다.
  • 데이터 내부를 암호화한다.
  • 암호화를 직접 진행하지 않고 리눅스에서 윈도우로 리눅스에 접속하면 OpenSSH server를 지원한다.

2. OpenSSH server 구축 과정

  • 우분투 서버의 경우엔 설치시에 명령만으로 설치 가능
  • 설치 명령어
    • ssh 설치/가동
      • apt-get install openssh-server
      • systemctl restart ssh
    • 방화벽 설정
  • 서버 설치
  • 방화벽을 열어서 ssh 22 port를 허용
  • port 확인 후 클라이언트에서 ssh server에 접속

[리눅스 명령어]

sudo init 0 리눅스 종료 명령어
'$' : 일반 계정 표시
'#' : 슈퍼 게정 표시

profile
즐겁고 괴로운 개발😎

0개의 댓글