기본 콘텐츠로 건너뛰기

Nginx + PHP + MySQL 개발 및 배포 환경 구축 (2)

Windows 10 (64bit) 환경에 MySQL 8.0 설치하기

MySQL이 오라클로 인수되고 나서 라이선스에 대한 불안감으로 MariaDB로의 마이그레이션이나 PostgreSQL로의 이전을 고려하는 등 말이 많지만 여전히 MySQL은 대중적인 웹개발 환경의 표준 DBMS의 자리를 지키고 있다.

MySQL을 윈도우 환경에 설치하기 위해서는 윈도우 인스톨러 배포판(.msi)으로 배포되는 파일을 내려받아 설치하는 방법과 압축된 파일(.zip)을 내려받아 직접 설치하는 방법이 있다.

MySQL 8.0을 윈도우 인스톨러 배포판으로 설치하는 방법은 인터넷에 연결된 환경에서 설치하는 방법(mysql-installer-web-community-8.0.x.x.msi)과 완전한 패키지(mysql-installer-web-community-8.0.x.x.msi)를 내려받아 설치하는 방법이 있으므로 적당한 배포판 파일을 내려받으면 된다.

여기서는 MySQL 배포 사이트의 메뉴얼을 참고하여 압축파일을 내려받아 직접 설치를 진행해보겠다. 이 글은 MySQL을 기본적으로 사용할 수 있는 사용자를 대상으로 하고 있다. mysqladmin, mysqlshow, mysql 등 프로그램의 이용법 및 SQL을 기본적으로 이해하고 있다고 가정하겠다.

참고. Installing MySQL on Microsoft Windows Using a noinstall ZIP Archive

1. 압축 파일 내려받아 압축 풀기


현재 최신 버전인 mysql-8.0.11-winx64.zip 파일을 내려받아 압축을 푼다. 여기서는 D:\Utils 폴더에 설치하기로 한다.

압축풀기 경로 D:\Utlis\mysql-8.0.11-winx64


2. 옵션 파일 만들기

윈도우용 MySQL 서버 프로그램은 실행할 때, 기본적으로 C:\my.ini 옵션 파일을 참조한다.
[client]
default-character-set=utf8

[mysqld]
port=3306
basedir="D:\Utlis\mysql-8.0.11-winx64"
datadir="D:\ProgramData\MySQL\MySQL Server 8.0"

log-error="D:\ProgramData\MySQL\MySQL Server 8.0\error.log"
;general_log
general_log_file="D:\ProgramData\MySQL\MySQL Server 8.0\query.log"

character-set-server=utf8
collation-server=utf8_general_ci

[mysqldump]

MySQL 데이터가 저장되는 폴더는 datadir 변수에 지정한다. 여기서는 MySQL 인스톨러로 설치할 경우 만들어지는 폴더의 구조를 따랐다. 폴더는 자동으로 만들어지지 않기 때문에 미리 만들어놓는다.


3. 환경변수 PATH에 MySQL bin 폴더 추가하기

내 컴퓨터 - 속성 -고급 시스템 설정 - 환경변수 - 시스템 변수 - PATH




4. mysqld를 이용하여 데이터 디렉터리 초기화하기

D:\Utlis\mysql-8.0.11-winx64\bin> mysqld --initialize

실행 시 명령행 옵션 --initialize 는 root 계정에 대해 임시 암호를 설정하며 --initialize-insecure 는 암호없이 root 계정을 만든다.


5. 서버 처음 시작하기

D:\Utlis\mysql-8.0.11-winx64\bin> mysqld --console

명령행 옵션 --console 실행시 에러 메세지는 화면으로 출력되어 설정 오류 등을 확인할 수 있다.

※ root 계정 암호 설정하기
mysql 프로그램을 이용하여 root 계정 암호 지정을 위해 --initialize 명령행 옵션을 실행했을 경우 temporary password 문구가 있는 행을 찾아 임시 암호를 입력한다.

D:\Utlis\mysql-8.0.11-winx64\bin> mysql -u root -p
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
> \q


6. 서버 테스트

D:\Utlis\mysql-8.0.11-winx64\bin> mysqlshow -u root -p
D:\Utlis\mysql-8.0.11-winx64\bin> mysqlshow -u root -p mysql
D:\Utlis\mysql-8.0.11-winx64\bin> mysqladmin -u root -p version status proc
D:\Utlis\mysql-8.0.11-winx64\bin> mysql -u root -p


7. 윈도우 서비스 등록

D:\Utlis\mysql-8.0.11-winx64\bin> mysqld --install "MySQL 8.0"


8. 윈도우 서비스 시작

C:\> NET START "MySQL 8.0"

댓글

이 블로그의 인기 게시물

아두이노 미세먼지 센서 PM2008

온습도계를 달아봤으니 이참에 미세먼지까지 한꺼번에 표시되도록 기능을 추가해보기로 했다. 마침 아두이노 전용 쉴드까지 제공하는 미세먼지 센서가 눈에 띄길래 일단 구매를 해봤다. 배송받은 센서는 거의 완제품에 가깝게 제작되었다. 다만 아쉬운 점은 아두이노 전용 쉴드의 마감이 좀 지분하다는 느낌을 받았는데, 후처리에 신경을 더 써주는 센스가 부족한 듯. PC2008 미세먼지 센서 아두이노 우노 전용 PM2008 쉴드  부착한 상태는 핀 위치도 잘 맞고 비교적 깔끔한 느낌이다. 쉴드 덕분에 지저분한 배선이 줄어들어 다른 센서들을 붙이기에도 좋을 것 같다. 쉴드와 일체형으로 제작하지 않은 건 라즈베리 파이와 같은 다른 마이크로칩 보드용의 쉴드 제작을 염두에 둔 듯하다. Arduino UNO에 장착한 모습 센서의 작동 테스트를 위해 PM2008 I2C 라이브러리를 추가하여 샘플코드를 실행시켜봤다. 성공적을 테스트를 완료. 이제 공부가 남았을 뿐. Arduino library PM2008 I2C 설치

모니터링 :: Grafana와 Prometheus 설치하기

Raspberry Pi 3 B+에서 Grafana와 Prometheus 설치하기 Grafana는 오픈소스 기반의 강력한 대시보드 플랫폼이다. 서버나 임베디드 장비의 운영상태 등을 Prometheus, ElasticSearch와 같은 data source를 플러그인 방식으로 연결해서 다양한 그래픽 요소로 나타낸다. 여기서는 대표적인 오픈소스 모니터링 솔루션인 Prometheus를 이용하여 요즘 메이커들 사이에 사물인터넷의 주요 디바이스로 자리매김하고 있는 라즈베리 파이의 운영상태를 모니터링 해보기로 하겠다. [그림.1] 라즈베리 파이 3 B+ [그림.2] 운영 중인 라즈베리 파이 3 B+ 라즈베리 파이는 영국의 라즈베리 파이 재단에서 학교와 개발도상국에서의 기초 컴퓨터 과학 교육 증진을 목표로 제작한 초소형 PC이다. 메인보드에 내장된 GPIO핀을 이용하여 다양한 센서모듈을 조합하여 메이커들에게는 사물인터넷의 핵심 기기로 각광받고 있다. 서버나 사물인터넷 허브와 같이 중단없이 장시간 운영되는 장비의 경우 안정적인 운영을 위해 실시간 서비스 모니터링이 필수적인데, Prometheus를 이용하면 다양한 정보를 수집하여 로그를 저장하고 이를 Grafana와 연동하여 세련된 그래픽 환경으로 운영이 가능하다. 게다가 오픈소스로 제공되기 때문에 설치와 운영 등 기술 비용(!)을 제외하면 소프트웨어 라이선스 비용은 무료이다. (제발, 소프트웨어 라이선스가 무료라고 모든게 공짜라는 생각은 버리자!) [그림.3] Prometheus Architecture Prometheus는 그림과 같이 Prometheus 서버가 외부의 export node들로부터 metric을 pulling 방식으로 수집하고, 이를 Grafaana 등을 이용해 시각화한다. 구조는 좀 복잡해 보이지만 이 글에서 구현해 볼 모니터링 툴을 간단히 설명하면, 1. node exporter - 모니터링할 기기의 메트릭(정보)을 제공 2. prometheus - 노드들로부...

Adafuit HUZZAH ESP8266 보드를 이용한 Arduino IDE 환경설정하기

 Espressif社의 ESP8266 마이크로컨트롤러는 Arduino 보드에 사용된 AVR 마이크로컨트롤러와 같은 종류이다. 가장 큰 장점은 WiFi 통신이 가능하며, 별도의 추가적인 하드웨어 없이 펌웨어만으로 WiFi 클라이언트와 Access Point 기능을 제공한다는 점이다. 최근 중요한 이슈로 자리잡은 사물인터넷(IoT)을 구현하는데 더없이 좋은 마이크로컨트롤러라 할 수 있다. 게다가 저렴한 가격은 덤! (8,000 ~ 10,000원 정도이니 Arduino UNO 호환보드 가격이다.)  HUZZAH 보드의 특징을 간단히 살펴보면 다음과 같다. Adafruit HUZZAH ESP8266 ESP8266 칩(64KB RAM, 96KB data RAM, 4MB QIO FLASH) 리셋 버튼 프로그램을 업로드하는데 필요한 부트로딩 모드로 전환하기 위한 버튼 프로그래밍 가능한 RED UART 통신 기능 Analog 입력 1개 (최대 1V) GPIO 핀 9개 (3.3V), I2C와 SPI 이용 가능  프로그래밍을 위해 FTDI 연결이 필요하다. 프로그래밍은 Arduino IDE를 사용할 수 있으며, Arduino와 같이 C/C++ 코드를 이용하여 개발이 가능하다. 참고로 Epressif社의 ESP8266 개발보드인 NodeMCU는 루아(LUA)라는 프로그래밍언어를 기본 제공한다. Adafruit社의 HUZZAH 보드는 기본적으로 핀헤더 없이 반제품으로 판매되며 필요에 따라 핀헤더를 직접 납땜해서 부착해야한다. 핀헤더 및 USB 포트를 기본제공하는 개발보드 형태의 제품을 별도로 판매하고 있다. Arduino IDE를 이용하여 프로그래밍을 하기 위해서는 우선 라이브러리에 ESP8266 보드를 추가해야 한다. Arduino IDE에 ESP8266 애드온 설치하기 1. 환경설정에서 "추가적인 보드 매니저 URLs"에 다음 URL을 입력한다. http://arduino.esp8266.com/sta...