기본 콘텐츠로 건너뛰기

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"

댓글

이 블로그의 인기 게시물

ESP8266 마이크로컨트롤러에서 UART0과 UART2 동시 사용하기

ESP-12F와 2개의 FTDI를 UART0과 UART2에 연결 ESP8266은 3개의 UART 포트를 제공한다. UART0과 UART2는 같은 Serial 클래스에서 관리하므로 동시 사용이 불가능하므로 교대로 사용해야 한다. UART1은 Serial1 클래스에서 관리하므로 동시 사용이 가능하지만 출력 전용이기 때문에 TX만 정의되어 있다. UART0 UART1 UART2 RX GPIO3(RX) - GPIO13 TX GPIO1(TX) GPIO2 GPIO15 아두이노 클래스 Serial Serial1 Serial 비고 UART2와 동일한 클래스를 통해 관리됨 메시지 수신을 위한 RX는 정의되어 있지 않음 UART0와 동일한 클래스를 통해 관리됨 UART0과 UART2는 동시 사용이 불가능하므로 한 번에 하나의 포트만 사용하도록 Serial 클래스의 swap() 멤버함수를 사용한다. NodeMCU와 USB-UART 연결 NodeMCU는 ESP-12E 개발보드가 사용되었으며, micro-USB 포트를 제공한다. micro-USB 포트는 UART0 포트를 사용하며, RX(GPIO3)와 TX(GPIO1) 핀을 공유한다. USB-UART 연결 장치를 UART2 포트에 연결하기 위해 D7(GPIO13)과 D8(GPIO15) 핀에 연결했다. NodeMCU는 UART0 포트를 이용하여 Ardino의 시리얼 모니터로 출력을 보내며, UART2 포트의 출력은 별도의 터미널프로그램으로 접속하여 출력을 모니터했다.

자작 :: 아두이노 온습도계

사용부품: Arduino UNO 호환보드, DH-22 온습도 센서, 캐릭터 LCD(16x2글자), Potentionmeter 아두이노 온습도계 AM2302 DH-22 온습도센서는 다음과 같이 3개의 핀을 사용한다. Pin 1. Vcc (전원 3.3~ 5.5V) Pin 2. GND (접지) Pin 3. DOUT (데이터 송신, SDA핀 연결) 온습도 센서의 데이터 수신을 위해 DOUT 핀은 아두이노의 D2 핀에 연결했고, 전원과 DOUT을 10㏀ 풀업 저항을 달아 연결했다. 부품 구성도 LCD는 웹사이트의 카달로그로 보기에는 백색 LED 백라이트가 멋있게 보여 구매를 했는데, 가독성면에서는 옐로우-그린 LED가 더 나을 것 같기도 하다. 아두이도는 기본적으로 LCD의 D4 ~ D7까지의 핀으로 4bit 통신을 한다. D2 핀은 밝기 조절을 위해 가변저항의 가운데 핀과 연결했다. 백라이트 전원은 220Ω 저항을 달았다. 온습도 정보를 수집하여 LCD에 출력하기 위한 아두이노 소스는 다음과 같다. 소스코드:  https://github.com/Jeongsam/arduino-DH22-LCD1602 #include <adafruit_sensor.h=""> #include <liquidcrystal.h=""> #include <dht.h=""> #include <dht_u.h=""> /** * 현재 온습도를 디스플레이하기 * DHT22(AMS2302)로부터 데이터를 받아 LCD16x2 디스플레이에 표시 */ // 온습도 센서 설정 #define DHTPIN 2 // 온습도 데이터 연결 핀 번호 #define DHTTYPE DHT22 // AMS2302 DHT_Unified dht(DHTPIN, DHTTYPE); uint32_t d...

아두이노 미세먼지 센서 PM2008

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