MySQL

#1 프로그래밍 개발자 교육 - 시작하기, DB설치

존버맨 2020. 5. 8. 02:20

  프로그램을 개발자가 되고 싶으시다면 이 무료 교육과정에 관심을 가져주시길 바랍니다. 앞으로, 프로그래머는 다양한 분야가 있는데, 일반 사무직 처럼 취업해서 개발하는 인재가 되실 여러분을 위해 저의 교육 노하우를 무료로 풀어보겠습니다. 지금부터 제가 진행할 과정은 일반 사무직처럼 근무하는 개발자가 되기위한 교육 내용입니다. 따라서 영화에서 보는 해킹이나 화려한 그래픽이 난무하는 것과 전혀 관계가 없다고 보시면 됩니다. 데이터를 보관하고 사용자에게 검색하게 하고, 또 데이터 가공과정을 거쳐서 의미있는 지표를 개발하는 과정입니다. 이 과정을 몇가지 단계별로 나열해서 너무 심오한 내용없이 자동차 운전하듯 과정을 만들어 보겠습니다.

 

  제가 소개할 과정은 SI 개발자를 목표로 하고 있습니다. 주력으로 사용할 언어 2개정도와 데이터베이스에 자신이 있으면 어디에 가서든 시작해 볼 수 있습니다. 막연히 미래를 걱정하거나 자격증에 의존하기 보다 바로 해볼 수 있는 이 매력적인 직업에 대해 한번 관심을 가져 보시길 권해 드립니다. SI 개발자는 우선 데이타베이스를 잘 다루면 반 이상은 먹고 들어갑니다. 그리고 의사소통을 잘하셔야 합니다. 가장 어려운 부분이기도 한데, 요구사항을 받을 때 개발 목표와 대상 및 범위를 가급적 구체적으로 제시할 줄 알아야 합니다. 고객의 요구사항이 변동이 생기지 않도록 하는 것이 관건이죠. 

 

  우리가 만들 프로그램은 대부분 이 데이타베이스(이하 DB)와 통신하면서 데이터를 관리하는 것입니다. 개발 프로그래밍 언어는 사실 뭐든지 상관없습니다. 왠만한 DB는 여러 프로그래밍 언어를 지원합니다. 요즘 대세가 어떤 프로그램인지는 잘 모르겠는데 저는 Java를 많이 사용합니다. 최근 들어 Python과 PHP 개발을 개인적으로 사용하고 있습니다. 우리가 만들 프로그램은 일반 사용자가 보고 처리할 수 있도록 하는 User Interface(이하 UI) 를 가지는 것이 있는 가하면 스케쥴 같이 서버 내에서 실행되는 프로그램도 있습니다. UI 프로그램은 웹에서 볼수 있도록 만들 것이며, 서버 프로그램은 Python 혹은 Shell(.sh 확장자) 로 만드는 과정을 가지겠습니다. 

 

  자, 처음은 DB부터 시작해 보죠. DB는 많이 쓰는 것이 오라클이 있고 IBM의 DB2, Microsoft의 MS SQL, 개인적으로 많이들 사용하시는 MySQL, 요즘엔 거의 본적이 드믄 Sybase 옛날에 딱 한번 쓴 적이 있는 AS400 그리고 MS 오피스에 있는 Access 등이 있습니다. 오라클을 했으면 하는데 이게 또 무거워서 우선 MySQL을 사용해서 한 세트를 개발해보고 오라클을 추가로 진행해보려고 합니다. MySQL은 DB서버이고 이 DB에 접속해서 데이터를 다룰 상용프로그램을 하나 써야 하는데 MySQL 설치해보니 Workbench 화면에서 가능하니 상용프로그램 설치는 할 필요 없겠습니다. 관심 있으신분은 SqlGate 라는 프로그램을 찾아보시길 바랍니다. 무료로 설치할 수 있는 버젼이 있습니다.

 

  MySQL 설치를 해보겠습니다. www.mysql.com 접속해서 설치파일을 받는 과정입니다. 홈페이지에 들어가면 상단에 'DEVELOPER ZONE' 을 클릭하세요.

 

 

아래 MySQL Downloads >> 를 클리합니다.

 

 

MySQL Installer for Windows 를 클릭합니다. 만약 Linux 같은 서버가 별개로 있다면 굳이 설치할 필요는 없습니다. 저도 Raspberry PI 에 MySQL을 설치해서 사용 중입니다. 

 

아래 x86, 32-bit MSI Installer 어떤 거든 상관없을 겁니다. 저는 위의 것을 다운로드 받아 실행하겠습니다.

 

 

Login이나 Sign up이 할 필요 없이 아래에 No thanks 를 클릭하면 다운로드가 되며, 설치과정을 진행하실 수 있습니다.

 

설치하다 보면 이 과정이 나오는 데, 그냥 Developer Default로 설치하겠습니다. 그런데 사실 Server only 만 해도 될 거 같은데 그냥 공부목적이니까 괜히 이상하게 설치하는 거보다 이편이 좋을 거 같습니다.

 

MySQL Server를 선택하고 Excute를 실행합니다. Status에 DL  몇%가 나오기 시작합니다. 100%가 되면 설치 화면이 뜨는데 저는 다 확인해서 넘어갔습니다.

 

이렇게 진행 되었습니다. 그리고 Next를 눌러주십시오.

 

이런 창이 뜨는데 Yes 를 누릅니다.

 

Installation으로 넘어왔습니다. Excute 버튼을 클릭합니다. 중간에 Error 가 발생했는데, Try again 누르니까 해결되었습니다. Status가 Ready > Downloading > Downloaded > Installing > Complete 로 진행되네요.

설겆이 하고 오니까 완료 되었네요. Next 누릅니다.

개발교육은 항상 Standalone 입니다. Next.

 

이 부분 부터는 다르게 설치 하실 수 있을 거 같은데, 전 늘 기본으로 설치합니다. MySQL 포트는 기본으로 3306입니다.

 

참고로 Config Type은 개발자PC, 서버용컴퓨터, 전용컴퓨터 옵션이 있네요. 

 

인증 방법 중에 Strong 하게 한다네요. 권장사항이고. 그냥 Next.

 

root 암호를 입력합니다. 그리고 사용자도 하나 만들어 줍니다. 여기서 안 만들어도 SQL로 만들 수 있습니다. 실제 프로그램에서는 root를 쓰지말고 새로 만든 사용자 id로 사용하여 개발하시길 바랍니다. Role은 DB Admin을 줬습니다. 개발하는 과정에 DB 변경을 쉽게 할 수 있습니다. 실제 현장에서는 사용할 계정을 이미 만들어서 배포해 줍니다. 사용자 관리는 개발자 몫이 아닙니다. 

 

Windows 서비스로 PC가 부팅되면서 자동 실행하는 옵션은 체크 해제 했습니다. 공부할 때만 잠시 서비스를 켜는 것이 좋겠지요. 서비스를 찾을 때 'MySQL80' 을 찾으면 되겠군요.

 

Configuration을 적용하나 봅니다. Execute 를 클릭하세요. 다 끝나면 Execute가 Finish 로 바뀝니다.

 

Sever 설치는 끝났나 보네요.

Finish를 누르면 InnoDB ... 로 시작하는 화면이 있는데 변경사항없이 Next 누릅니다.

 

Samples and Examples 인거 보니까 예제 DB가 설치되나 봅니다.

서버에 접속시도 하는 과정이 있네요. 암호 설정했던거 입력하고 check 누르면 status에 succeeded 가 뜹니다. Next.

Apply Configuration을 도 하네요. Execute 합니다. 

 

Product Configuration 에서 그냥 Next 하면 다음에 Installation Complete 가 나옵니다. MySQL Shell 은 체크 해제하는 게 좋겠습니다. 저도 이게 뭔지 모르겠어요. 굳이 알고 싶지도 않고 말이죠. Workbench 만 실행하면 되겠습니다.

 

왼쪽 메뉴가 있는데, 돌고래 아이콘 누르면 이 화면이 나옵니다. 나머지 두개는 천천히 알아보는 거로 하죠. 사실 이 교육콘텐츠에는 불필요한 부분입니다. MySQL 자체를 깊숙히 아는게 목적이 아니거든요. DB를 사용만할 줄 알면 됩니다.

아래 Local instance MySQL 을 클릭해 보십시오.

root 암호 입력하고 OK. 전 암호를 save하지 않습니다. 잊어버려가지고. 여러분은 편하신데로.

 

이 화면이 나오는데, Query1 탭에서 이제 SQL을 사용할 수 있습니다. MySQL 은 Database를 선택해서 봅니다. 

아래와 같이 입력하고 번개를 클릭하시면 리스트가 나옵니다. 앞으로 번개 누르기가 번거로우실 겁니다. ctrl + enter 키 누르면 (;)까지의 문장을 실행합니다.

show databases; <ctrl+enter>

 

database 중에서 world 에 들어가겠습니다.

use world; <ctrl+enter>. 결과는 뭐 없습니다.

world 안에는 어떤 테이블이 있는지 봅니다.

show tables;  <ctrl+enter>

country 에 어떤 데이타가 있는지 보겠습니다.

select * from country; <ctrl+enter>. 

국가3자리 코드하고 나라이름이 있네요. 한국은 있을까요?

한국이 있는 지 확인하기위해서 아래와 같이 해봅니다.

select * from couselect * from country where name like '%Korea%'; <ctrl + enter>

%Korea% 는 글자 앞뒤로 Korea가 들어가 있는 대상입니다. 한국과 북한 둘다 있습니다.

자 여기 까지 따라오시느라 수고 많으셨습니다.

코딩개발 이전에 이 Query에 익숙해 져야 하는데, 다음시간에 이 부분에 대해 교육을 하도록 하겠습니다.

 

끝으로 MySQL 서비스를 내리도록 하겠습니다. 이 서비스 화면을 찾기 귀찮으시면 명령이 실행창에서 services.msc 를 실행하시면 됩니다.

설치할 때 봤던 MySQL80 이 보이죠? 선택하고 중지해주시면 됩니다. 공부할 때는 다시 시작해야 하고요. 이게 시작해야지 Database를 사용할 수 있습니다.

 

수고하셨습니다.