본문 바로가기

💻 Deep Wide Programming/Mysql & Database

[생활코딩] Database1, Database 2_MySQL (Database의 탄생, spreadsheet와 mysql의 차이, mysql 다운로드 받고 실행시키기)

728x90
반응형

정보기술의 심장, Database의 등장

데이터가 중요한 이유는, 데이터를 가공해서 다양한 일을 할 수 있기 때문이다. 인터넷에 연결된 웹과 앱을 통해 소식과 지식을 전파할 수 있고, 빅데이터나 인공지능과 같은 기술을 이용해서 대규모의 데이터로부터 통찰력있는 분석결과를 뽑아낼 수 있기 때문이다. 이를 위해서는 데이터를 저장하고 꺼낼 수 있어야 한다. 우리가 사용할 수 있는 첫번째 수단은 File이다. File은 배우기가 쉽고, 어디에서나 사용할 수 있고, 이메일이나 메신저를 이용해 간편하게 전송도 가능하다! 그러나 성능, 보완, 편의성에 한계를 지닌다. 

 

이를 극복하기 위해, 고안된 전문화된 소프트웨어가 Database다. 

Database를 이용하면 소중한 데이터를 안전하고 편리하고 빠르게 보관하고 사용할 수 있다. 세상에는 다양한 데이터베이스 제품이 존재한다. 데이터베이스는 거대하고 위험하고 복잡한 데이터를 가지고 있을 때의 상황을 위해 만들어진 것이다. 따라서 우리에게는 상상력이 필요하다! 그래야 데이터베이스의 복잡성에 대해 단순 '이해'가 아니라, '공감'할 수 있을 것이다. 

 

데이터베이스의 본질

데이터 관련해서 일어날 수 있는 일들이 참으로 많아, 데이터베이스는 참으로 방대하다. 그러나 어떤 데이터베이스이건, 핵심은 심플하다. 바로 CRUD! 데이터를 만들고, 읽고, 수정하고, 삭제하고! 바로 이것이 모든 데이터베이스의 공통적인 기본 베이스다. 

File, Database화 되다

 

 

 

 

우리는 파일에 데이터를 저장해왔다. 그런데 이 파일에는 한계가 있다. 방대한 파일들 가운데서 우리가 원하는 정보대로 뽑아내고 분류하는 등의 작업이 불가능하기 때문이다. 그래서 만들어진게 Spreadsheet다. Spreadsheet에 '구조적으로 데이터'를 정돈했을 때, '필터기능' 등 데이터를 가공하는 것이 더 쉬워진다. 이러한 스프레드시트는 분명 데이터베이스로 가는 길목에 있다!

 

 

Spreadsheet와 Database의 가장 본질적인 차이는, '프로그래밍 언어를 통해 데이터를 추가하고 수정하고 삭제하고 읽을 수 있다'는 점이다. 이것이 시사하는 바는, Database는 사람이 일일이 작성하지 않고도 '자동화'할 수 있다는 것이다. 이것이 데이터베이스가 가지고 있는 아주 중대한 장점이라고 할 수 있다. 

 

 

MySQL

관계형 Database는 데이터베이스 분야에서 절대 강자로 군림하고 있다.! 관계형 Database를 이용하면, 데이터를 표의 형태로 정리정돈할 수 있고, 정렬/검색과 같은 작업을 빠르고 안전하게 할 수 있다. 스웨덴에서 개발되기 시작한 MySQL은 오픈소스, 무료이면서 관계형 데이터베이스의 주요한 기능을 모두 갖추고 있는 준수한 데이터베이스다! 웹이 폭발적으로 성장하면서, 방대한 자료를 저장해야할 데이터베이스가 필요했고 수많은 엔지니어들이 MySQL을 사용하게 되었다. 이렇게 MySQL은 웹과 함께 폭발적 동반성장을 하게 되었다. 

 

데이터베이스과 무엇이고 왜 사용하는가? (스프레드시트와 Database의 공통점/차이점)

 

 

 

 


 

 

 

 

MySQL :: Download MySQL Community Server

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS FreeBSD Source Code Select OS Version: All Wind

dev.mysql.com

MySQL을 설치할 때도 apache처럼 bitnami wamp가 도와준다고 한다. 잉? 그래서 내 컴퓨터의 bitnami 폴더를 들어가봤는데 mysql이 있넹? apache를 설치하기 위해 bitnami wamp를 깔았을 때 이미 깔려있었더랬다. 앎의 중요성... 깔려있어도 모르면 있는지도 모른다..

+온라인 서비스 Codeanywhere 같은 설치하지 않고도 진행할 수 있는 방법이 있다. 

 

무튼, MySQL을 실행하기 위해 cmd창을 열어야 했다. 

window+r => cmd입력

드디어 나도 cmd에 익숙해질 순간이 오나보다..! 

이고잉 쌤이 tab키를 누르면 자동완성이 된다고 했는데, 내 컴퓨터는 이게 먹히질 않는거다ㅠㅠ

검색해보니 아래와 같은 방법을 찾았다..

 

CMD TAB 자동완성 기능 ON 하는 법 


출처: https://comlover.net/entry/cmd-%EC%B0%BD%EC%97%90%EC%84%9C-%ED%83%ADtab-%ED%82%A4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0


따라서 했는데, 뭔가 tab키가 여전히 안먹어서 '이런'하고 그냥 다음으로 넘어갔다. 그러나 또 다시 난관.. 

apache를 받으려고 bitnami를 깔 때 나도 모르게 자동으로 설정된 비밀번호가 있었나보다. mysql을 실행하기 위해서는 비밀번호를 입력해야 하는데, 비밀번호를 모르겠는 것이다. 그래서 비밀번호를 재설정하기 위해 구글링을 하여 대장정을 펼치게 되는데...

 

[작업관자에서 mysql과 관련된 mysqld와 같은 파일을 종료시켜준뒤 한다]

1. cmd창 오른쪽 클릭 후 관리자 권한으로 연다
2. mysql.exe 가 있는 폴더의 경로를 복사한다
경로 예 ) C:\Bitnami\wampstack-7.3.9-0\mysql\bin
3.cmd 창에
cd C:\Bitnami\wampstack-7.3.9-0\mysql\bin
를 입력해 준다.
4.mysqld --console --skip-grant-tables --shared-memory
입력
5.새로운 cmd창을 띄운다.
6.cmd 창에
cd C:\Bitnami\wampstack-7.3.9-0\mysql\bin을 입력한다
7.mysql -u root
을 입력한다
8.UPDATE mysql.user SET authentication_string=null WHERE User='root';
9.FLUSH PRIVILEGES;
10.exit
11.다시 이 경로로 들어간다 : mysql\bin
cd C:\Bitnami\wampstack-7.3.9-0\mysql\bin

입력 후
mysql -u root
입력
12.ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
pssword 대신에 비밀번호 입력
13.flush privileges;
14.exit

출처: http://blog.daum.net/danus123/168

 

내 생에 이런 개발자스러움은 처음이야... /// 

 

기쁨도 잠시..아니 근데 된 줄 알았는데

why error인 것이냐........다시 돌아가서 다시 시작해본다..

젠장... 몇시간 씨름하다

안깔고 진행한다... 

https://www.youtube.com/watch?v=JHd5-CnhJRY&list=PLuHgQVnccGMCgrP_9HL3dAcvdt8qOZxjW&index=7

 

결국........아깔고 codeanywhere에서 진행하게 되었는데, free판이 7일 기한이다. 7일안에 다 들어야 한다는 소리일까 oh no...아까까지는 신났는데 코딩하면 인내심이 필요하다는 머나먼 과거의 기억이 떠올랐다. 아휴..

728x90
반응형