<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>blaster-code.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Thu, 19 Aug 2021 16:54:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. blaster-code.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/blaster-code" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[MVC 패턴과 Spring MVC]]></title>
            <link>https://velog.io/@blaster-code/MVC-%ED%8C%A8%ED%84%B4%EA%B3%BC-Spring-MVC</link>
            <guid>https://velog.io/@blaster-code/MVC-%ED%8C%A8%ED%84%B4%EA%B3%BC-Spring-MVC</guid>
            <pubDate>Thu, 19 Aug 2021 16:54:46 GMT</pubDate>
            <description><![CDATA[<h2 id="🤔-mvc-패턴이란">🤔 MVC 패턴이란?</h2>
<p>웹 프로그래밍을 접하게 되면 자연스럽게 MVC 디자인 패턴을 접하게 될 것 입니다. MVC 패턴에 대한 기본적인 개념에 대해 정리를 하고 넘어가보도록 하겠습니다.</p>
<h3 id="mvc-패턴">MVC 패턴</h3>
<p>MVC란, 데이터(Model) - UI(View) - 어플리케이션 로직(Controller)를 분리하는데 사용되는 디자인 패턴입니다.</p>
<ul>
<li>웹 또는 모바일 어플리케이션 설계에 널리 사용</li>
<li>느슨한 결합도와 높은 응집도</li>
<li>코드 재사용</li>
<li>유지보수 용이</li>
</ul>
<p><img src="https://images.velog.io/images/blaster-code/post/136ce277-4fec-418a-ad4b-ca67c3523b57/hCQBngBrEoxk.png" alt=""></p>
<h4 id="model">Model</h4>
<ul>
<li>정보의 요청과 상태에 대해 응답</li>
<li>정보가 변경된 경우 이벤트 기반 시스템 관찰자에게 통지</li>
<li>어플리케이션의 데이터 관리</li>
<li>데이터베이스 또는 웹 스토리지</li>
</ul>
<h4 id="view">View</h4>
<ul>
<li>UI 요소를 효과적으로 제공</li>
<li>Model의 데이터를 UI에 적합한 형식으로 제공</li>
</ul>
<h4 id="controller">Controller</h4>
<ul>
<li>사용자 입력을 수신</li>
<li>Model 또는 View에 적절한 작업을 수행하기 위해 호출</li>
</ul>
<hr>
<h2 id="🍃-spring-mvc는-무엇인가">🍃 Spring MVC는 무엇인가?</h2>
<ul>
<li>웹 어플리케이션 개발을 제공하는 스프링의 모듈</li>
<li>MVC 패턴에 대한 명확한 코드 분리</li>
<li>HTML, JSON, XML을 쉽게 작성 가능</li>
<li>웹 어플리케이션, Restful Service 구축 가능</li>
</ul>
<h3 id="동작-원리">동작 원리<img src="https://images.velog.io/images/blaster-code/post/544fc126-5ab8-4ebd-9dce-09a7200b734d/hCQBngBrEoxk%20(1)%20(1).png" alt=""></h3>
<h4 id="front-controller">Front Controller</h4>
<ul>
<li>모든 요청을 처리한 후 해당 유형에 적합한 Handler 또는 resolver로 전달</li>
<li>DispatcherServlet</li>
</ul>
<h4 id="handlermapping">HandlerMapping</h4>
<ul>
<li>클라이언트가 요청한 URL을 해당 Controller로 매핑</li>
<li>@RequestMapping</li>
</ul>
<h4 id="controller-1">Controller</h4>
<ul>
<li>요청을 처리한 후 그 결과를 ModelAndView 객체에 담아 반환</li>
<li>@Controller, @RestController</li>
</ul>
<h4 id="service">Service</h4>
<ul>
<li>비즈니스 로직을 처리</li>
<li>@Service</li>
</ul>
<h4 id="viewresolver">ViewResolver</h4>
<ul>
<li>View 이름을 실제 View에 매핑</li>
</ul>
<h4 id="view-1">View</h4>
<ul>
<li>Front Controller에서 렌더링 할 View에게 요청</li>
<li>요청을 받은 View가 데이터를 렌더링</li>
</ul>
<hr>
<p>📑 참고문헌
<a href="https://softwareengineering.stackexchange.com/questions/127624/what-is-mvc-really">What is MVC, really?</a>
<a href="https://www.educative.io/blog/mvc-tutorial">MVC Architecture in 5 minutes: a tutorial for beginners</a>
<a href="https://www.baeldung.com/cs/cohesion-vs-coupling">Difference Between Cohesion and Coupling</a>
<a href="https://www.marcobehler.com/guides/spring-mvc">What is Spring MVC: @Controllers &amp; @RestControllers</a>
<a href="https://stackoverflow.com/questions/32922914/difference-between-spring-mvc-and-spring-boot">Difference between Spring MVC and Spring Boot</a>
<a href="https://stackify.com/spring-mvc/">How Spring Web MVC Really Works</a>
<a href="https://www.baeldung.com/spring-mvc-interview-questions">Spring MVC Interview Questions</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[VSCode에서 Spring Boot 설치 및 설정]]></title>
            <link>https://velog.io/@blaster-code/VSCode%EC%97%90%EC%84%9C-Spring-Boot-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@blaster-code/VSCode%EC%97%90%EC%84%9C-Spring-Boot-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95</guid>
            <pubDate>Mon, 16 Aug 2021 20:08:39 GMT</pubDate>
            <description><![CDATA[<h2 id="🍃-spring은-무엇인가">🍃 Spring은 무엇인가?</h2>
<p>Spring Framework는 Java 기반의 웹 어플리케이션을 구축하기 위한 오픈 소스 프레임워크입니다.</p>
<h3 id="spring-사용-이유">Spring 사용 이유</h3>
<p>그런데 Java를 배우면서 왜 Spring을 사용하는지 알아본 결과 <a href="https://youtu.be/xs44Ty_Kerk">&#39;스프링이란&#39;</a> 영상에서 이해하기 쉽게 요약을 해주셨습니다</p>
<ul>
<li>자바의 특징 : 객체 지향 언어</li>
<li>객체 지향 언어가 가진 특징을 살려낸 프레임워크</li>
<li>좋은 객체 지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크</li>
</ul>
<h3 id="spring과-spring-boot-차이점">Spring과 Spring Boot 차이점</h3>
<p>Spring이라는 단어를 검색하면 Spring이 아닌 Spring Boot라는 단어를 많이 접해보셨을겁니다. Spring Boot란, Spring을 좀 더 편리하게 사용할 수 있도록 지원해주는 기술이라고 합니다.</p>
<h4 id="spring-legacy-project-sts3">Spring Legacy Project (STS3)</h4>
<ul>
<li>Tomcat 별도 설치 후 설정</li>
<li>외부 라이브러리 / 버전 별도 설정</li>
</ul>
<h4 id="spring-boot-sts4">Spring Boot (STS4)</h4>
<ul>
<li>Tomcat 웹서버 내장</li>
<li>외부 라이브러리 / 버전 관리 용이</li>
<li>간결한 설정</li>
</ul>
<hr>
<h2 id="💻-vscode와-spring-boot">💻 VSCode와 Spring Boot</h2>
<blockquote>
<h4 id="✋-참고-사항">✋ 참고 사항</h4>
<p><a href="https://code.visualstudio.com/">Visual Studio Code</a>는 IDE가 아닌 Text Editor입니다.
Marketplace에서 따로 확장 기능을 설치해줘야하며
필요에 따라 별도의 설정이 필요할 수 있습니다.</p>
</blockquote>
<h3 id="java-확장-기능">Java 확장 기능</h3>
<p>VSCode에서 Java를 빌드하려면 Java Extension Pack을 설치해야 합니다. Java Extension Pack은 우리에게 원활한 자바 개발 환경을 제공해줍니다👍</p>
<blockquote>
<p>[Ctrl+Shift+X] → java 검색 → Java Extension Pack [설치]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/bc1a0031-4d30-41bb-87d0-c4bd654c6eaa/vscode-01%20(1).jpg" alt=""></p>
<h3 id="spring-boot-확장-기능">Spring Boot 확장 기능</h3>
<blockquote>
<p>[Ctrl+Shift+x] → spring 검색 → Spring Boot Extension Pack [설치]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/2f277ab6-ed55-4b2b-a187-de519535a855/vscode-04.jpg" alt=""></p>
<h3 id="jdk-버전">JDK 버전</h3>
<blockquote>
<p>🙋 결론부터 말씀드리자면 OpenJDK 11로 환경 변수 설정 해줘야합니다.</p>
</blockquote>
<p>JDK 8 버전만 사용하는 분들은 자바 파일 실행이 안되는 현상을 겪습니다. 이유는 아래와 같이 자바 언어 서버를 시작하려면 JDK 11버전 이상이 있어야한다고 명시되어있습니다.</p>
<p><img src="https://images.velog.io/images/blaster-code/post/d9dffe81-412f-446e-ac42-38a3d6f0c737/vscode-02.jpg" alt=""></p>
<p>기존 환경 변수에 JDK 8로 설정해놓고 JDK 11이 따로 설치되어있는 경우 알아서 JDK 11이 있는 경로를 찾아주지만 JDK 8만 있는 경우에는 따로 OpenJDK 11을 설치해줘야합니다.</p>
<p><img src="https://images.velog.io/images/blaster-code/post/c4ebc7d3-9f4c-4329-908c-d4c2025d1514/vscode-03.jpg" alt=""></p>
<p>그리고 Spring Tools 언어 서버를 시작하려면 JDK 11 이상 버전을 요구하기 때문에 환경 변수에서 8이 아닌 11로 설정해줍니다.</p>
<p><img src="https://images.velog.io/images/blaster-code/post/8af9c642-e545-40fd-9475-51eadb07b6ec/vscode-06.jpg" alt=""></p>
<hr>
<h4 id="📑-참고문헌">📑 참고문헌</h4>
<p><a href="https://youtu.be/xs44Ty_Kerk">&#39;스프링이란&#39;</a>
<a href="https://code.visualstudio.com/docs/java/java-tutorial">Getting Started with Java in VS Code</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Database와 SQL 간단 정리]]></title>
            <link>https://velog.io/@blaster-code/Database%EC%99%80-SQL-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@blaster-code/Database%EC%99%80-SQL-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Sun, 15 Aug 2021 10:40:54 GMT</pubDate>
            <description><![CDATA[<h2 id="😎-schema란-무엇인가">😎 Schema란 무엇인가?</h2>
<p>Schema란, 간단하게 행과 열로 구성된 테이블의 모음이라고 합니다.</p>
<p>중요하면서도 어려운 개념이라 이 포스팅에서는 자세하게 다루진 않았지만 MySQL에서 Database와 Schema는 같은 의미라고 합니다. 아래와 같이 Database와 Schema를 조회해보면 똑같은 결과가 나옵니다. </p>
<p><img src="https://images.velog.io/images/blaster-code/post/d159b26a-ccf5-4ba1-89b3-af3ff0f70f89/mysql_tutorial_14.jpg" alt=""></p>
<h3 id="database-활성화">Database 활성화</h3>
<p>기본적으로 MySQL에서 해당 DB(=Schema)를 활성화해야만 테이블 쿼리 작업들이 가능해집니다. MySQL을 본격적으로 시작하기 전 기본적으로 숙지해야할 쿼리문들을 정리해보았습니다.</p>
<h4 id="db-조회">DB 조회</h4>
<blockquote>
<p>SHOW DATABASES;</p>
</blockquote>
<h4 id="db-생성">DB 생성</h4>
<blockquote>
<p>CREATE DATABASE [DB명];</p>
</blockquote>
<h4 id="db-활성화">DB 활성화</h4>
<blockquote>
<p>USE [DB명];</p>
</blockquote>
<h4 id="db-삭제">DB 삭제</h4>
<blockquote>
<p>DROP DATABASE [DB명];</p>
</blockquote>
<hr>
<h2 id="☕-sql-분류">☕ SQL 분류</h2>
<p>SQL은 RDBMS에서 데이터를 다루고 관리하는데 사용하는 데이터베이스 질의 언어입니다. SQL은 사용 목적에 따라 세가지로 분류됩니다.</p>
<h3 id="ddl">DDL</h3>
<ul>
<li>Data Definition Language</li>
<li>DB 객체를 생성, 삭제, 변경</li>
<li>CREATE, DROP, ALTER</li>
</ul>
<h3 id="dml">DML</h3>
<ul>
<li>Data Manipulation Language</li>
<li>DB를 조회, 삽입, 삭제, 변경</li>
<li>SELECT, INSERT, DELETE, UPDATE</li>
</ul>
<h3 id="dcl">DCL</h3>
<ul>
<li>Data Control Language</li>
<li>사용자와 권한을 관리</li>
<li>GRANT, DENY, REVOKE</li>
<li>DBA가 주로 사용</li>
</ul>
<hr>
<h4 id="📑-참고문헌">📑 참고문헌</h4>
<p><a href="https://www.educba.com/what-is-a-mysql-schema/?source=leftnav">What is MySQL Schema?</a>
<a href="https://www.aladin.co.kr/shop/wproduct.aspx?ISBN=E652538906&amp;start=pnaverebook">김상형의 SQL 정복</a>
<a href="https://www.aladin.co.kr/shop/wproduct.aspx?ISBN=EK93253458&amp;start=pnaverebook">Do it! 오라클로 배우는 데이터베이스 입문 비전공자도 기초부터 확실하게!</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Charset과 Collation]]></title>
            <link>https://velog.io/@blaster-code/Charset%EA%B3%BC-Collation</link>
            <guid>https://velog.io/@blaster-code/Charset%EA%B3%BC-Collation</guid>
            <pubDate>Sat, 14 Aug 2021 21:08:46 GMT</pubDate>
            <description><![CDATA[<h2 id="🔠-문자-인코딩에-대하여">🔠 문자 인코딩에 대하여</h2>
<p>컴퓨터는 0과 1로 수를 나타내는 이진법으로 작동합니다. 그 결과 사용자가 입력한 문자, 숫자, 공백과 같은 모든 문자는 이진수로 저장이 됩니다. 그리고 컴퓨터 내에서 사용할 수 있는 모든 문자를 문자 집합(Character Set)이라고 합니다.</p>
<p>이러한 문자를 컴퓨터가 읽을 수 있게 코드화하는 과정을 문자 인코딩(Character Encoding)이라고 부릅니다. 대표적으로 ASCII, UNICODE가 있습니다.</p>
<h3 id="ascii">ASCII</h3>
<ul>
<li>1960년대에 등장한 최초의 문자 집합</li>
<li>7bit만 사용</li>
<li>128개 문자 표현</li>
<li>언어 중 영어만 사용이 가능</li>
</ul>
<h3 id="unicode">UNICODE</h3>
<ul>
<li>1990년대에 등장한 문자 집합</li>
<li>거의 모든 언어의 문자를 표현</li>
<li>이모지 사용 가능😉</li>
</ul>
<h3 id="euc">EUC</h3>
<ul>
<li>동아시아 언어의 문자 집합</li>
</ul>
<hr>
<h2 id="😳-utf-8-euc-kr">😳 UTF-8? EUC-KR?</h2>
<p>우리나라에서 일반적으로 사용되는 대표적인 문자 인코딩 방식으로 UTF-8과 EUC-KR이 있습니다. 그래서 이 둘 중 차이점이 무엇인지 그리고 어떤 방식을 사용할지 고민하게 될 것 입니다.</p>
<h3 id="utf-8">UTF-8</h3>
<ul>
<li>UNICODE 인코딩</li>
<li>1~4btye 사용</li>
<li>한글 3byte, 이모지 4byte 사용</li>
<li>모든 언어의 문자를 표현</li>
</ul>
<h3 id="euc-kr">EUC-KR</h3>
<ul>
<li>한글 2byte 사용</li>
<li>ASCII 문자 1byte 사용</li>
<li>한글과 영어 페이지에 적합</li>
</ul>
<hr>
<h2 id="📚-mysql-문자-집합">📚 MySQL 문자 집합</h2>
<p>MySQL에서 Character Set을 조회해보면 <strong>utf8</strong>과 <strong>utf8mb4</strong>를 발견하게 될 것입니다. 둘 다 똑같은 UTF-8 UNICODE인데다가 그냥 <strong>utf8</strong>로 사용해도 상관은 없지만 모바일 사용으로 이모지 사용량도 많이 늘면서 <strong>utf8mb4</strong>로 많이 권장한다고 합니다.</p>
<p><img src="https://images.velog.io/images/blaster-code/post/887e63a8-4f16-43f8-86a6-eaa788538871/mysql_tutorial_09.jpg" alt=""></p>
<p>하지만 우리가 알고 있는 UTF-8은 4byte까지 사용이 가능하고 이모지도 사용 가능한데 왜 MySQL에서는 <strong>utf8mb4</strong>로 사용해야하는지 그 이유는 아래와 같습니다.</p>
<h3 id="utf8">utf8</h3>
<ul>
<li>최대 3byte 지원</li>
</ul>
<h3 id="utf8mb4">utf8mb4</h3>
<ul>
<li>MySQL 5.5.3부터 사용 가능</li>
<li>최대 4byte 지원</li>
<li>이모지 저장 가능</li>
</ul>
<blockquote>
<h4 id="🤷-collation">🤷 Collation</h4>
<p>설정된 Charset으로 저장된 데이터 문자열을
비교하고 정렬 방법을 정의하는 규칙 집합</p>
</blockquote>
<hr>
<h2 id="⚙️-mysql-charset-설정">⚙️ MySQL Charset 설정</h2>
<p>MySQL 8.0에서는 기본적으로 utf8mb4로 설정이 되어있습니다.</p>
<blockquote>
<p>SHOW VARIABLES LIKE &#39;character_set%&#39;;</p>
</blockquote>
<p>하지만 위와 같은 명령어를 실행해보면 Client와 Connection은 euckr로 설정이 되어있으니 이 두개를 utf8mb4로 바꿔보도록 하겠습니다.
<img src="https://images.velog.io/images/blaster-code/post/11a71b9f-1be3-455f-988d-134fe88cae79/mysql_tutorial_10.jpg" alt=""></p>
<h3 id="설정">설정</h3>
<p>my.ini 파일이 존재하는 경로를 복사해준 후 해당 경로로 들어가줍니다.</p>
<blockquote>
<p>윈도우 검색 상자 [서비스] → MYSQL80 [우클릭] → [속성]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/1a7e768f-87bf-448c-b0f4-302674f02fcd/mysql_tutorial_11.jpg" alt=""></p>
<p>my.ini 파일 저장을 위해 다음과 같이 설정을 해줍니다.</p>
<blockquote>
<p>my.ini [우클릭] → 속성 → [보안] → [편집] → Users [선택] → 사용 권한 허용</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/93b54f0d-e1fc-4316-8038-e890c74101a2/mysql_tutorial_12.png" alt=""></p>
<p>my.ini 파일을 열어준 후, 맨 아래에 다음과 같이 추가를 해줍니다.</p>
<blockquote>
<p>[client]
default-character-set = utf8mb4<br>
[mysql]
default-character-set = utf8mb4<br>
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_0900_ai_ci</p>
</blockquote>
<p>편집 후, [서비스]에서 MySQL 서버를 다시 시작해준 후
MySQL에서 Charset이 utf8mb4로 변경된 걸 확인할 수 있습니다.</p>
<blockquote>
<p>[서비스] → MYSQL80 [다시 시작]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/fda4ae77-a45a-413a-9b3d-618f9b26d170/mysql_tutorial_13.jpg" alt=""></p>
<hr>
<h4 id="📑-참고문헌">📑 참고문헌</h4>
<p><a href="https://www.bbc.co.uk/bitesize/guides/zd88jty/revision/6">Fundamentals of data representation</a>
<a href="http://www.steves-internet-guide.com/guide-data-character-encoding/">Beginners Guide to Data and Character Encoding</a>
<a href="https://www.quora.com/What-is-the-difference-between-EUC-and-UTF-especially-EUC-KR-and-UTF-8">What is the difference between EUC and UTF (especially EUC-KR and UTF-8)?</a>
<a href="https://blog.hubspot.com/website/what-is-utf-8">What is UTF-8 Encoding? A Guide for Non-Programmers</a>
<a href="https://blog.cafe24.com/1549">EUC-KR vs UTF-8 문자셋 선택 가이드</a>
<a href="https://www.eversql.com/mysql-utf8-vs-utf8mb4-whats-the-difference-between-utf8-and-utf8mb4/">MySQL utf8 vs utf8mb4 – What’s the difference between utf8 and utf8mb4?</a>
<a href="https://dev.mysql.com/doc/refman/8.0/en/adding-collation.html">10.14 Adding a Collation to a Character Set</a>
<a href="https://dev.mysql.com/doc/refman/8.0/en/charset-server.html">10.3.2 Server Character Set and Collation</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MySQL 설치 및 환경 설정]]></title>
            <link>https://velog.io/@blaster-code/MySQL-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@blaster-code/MySQL-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95</guid>
            <pubDate>Fri, 13 Aug 2021 11:16:37 GMT</pubDate>
            <description><![CDATA[<h2 id="🧐-mysql이란">🧐 MySQL이란?</h2>
<p>오라클 다음으로 시장 점유율이 높은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 다양한 운영체제를 지원하고 있으며 커뮤니티 서버는 무료 버전이라 학습용으로 적합합니다.</p>
<h3 id="관계형-데이터베이스">관계형 데이터베이스</h3>
<ul>
<li>행으로 구성된 테이블</li>
<li>여러 개의 테이블로 관계를 정의</li>
<li>제약 조건으로 무결성 보장</li>
</ul>
<h3 id="무결성">무결성</h3>
<ul>
<li>데이터가 결함없이 완벽한 상태</li>
<li>컬럼 무결성 : TYPE, NULL, DEFAULT 등</li>
<li>엔터티 무결성 : PRIMARY KEY, UNIQUE</li>
<li>참조 무결성 : FOREIGN KEY</li>
</ul>
<hr>
<h2 id="🔧-mysql-설치하기">🔧 MySQL 설치하기</h2>
<h3 id="설치">설치</h3>
<p><a href="https://dev.mysql.com/downloads/mysql/">MySQL Community Server</a>
위 링크를 통해 파일 다운로드 후 설치를 진행해줍니다.</p>
<blockquote>
<p><strong>✅ 필수 사항</strong>
기본 설정대로 설치를 계속 진행하되 중간에 설정한 비밀번호 기억은 필수</p>
</blockquote>
<p>설치가 완료된 후, MySQL 8.0 Command Line Client 창을 열어줍니다. 그리고 설치 과정에서 설정한 패스워드로 접속이 성공되면 설치가 완료된 걸 확인할 수 있습니다.</p>
<hr>
<h2 id="💻-mysql-작업-환경">💻 MySQL 작업 환경</h2>
<p>MySQL을 실행하려다보면 Workbench에서 제대로 접속이 안되는 상황이 발생할 수 있습니다. 이와 같은 문제가 발생할 경우 아래와 같은 방법으로 해결하면 됩니다.</p>
<h3 id="서버-실행-및-중지">서버 실행 및 중지</h3>
<p>윈도우 검색 상자에서 [서비스]를 열어준 후 MYSQL80 서버를 실행하거나 중지시켜줍니다.</p>
<blockquote>
<p>MYSQL80 [선택] → 서비스 [시작] 또는 [중지]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/86229eb7-7909-4dca-b2cb-10fc92854bd5/mysql_tutorial_01.jpg" alt=""><img src="https://images.velog.io/images/blaster-code/post/6e6b924a-eb90-44ce-a616-2bf1922414d0/mysql_tutorial_02.jpg" alt=""><img src="https://images.velog.io/images/blaster-code/post/d35d896e-c5ca-418f-8035-d6cdc9a8340d/mysql_tutorial_03.jpg" alt=""></p>
<h3 id="명령-프롬프트">명령 프롬프트</h3>
<p>MySQL을 시작하면서 가장 곤란했던 상황이 MySQL 8.0 Command Line Client 창이 갑자기 꺼지는 현상이였습니다. MySQL 서버 재부팅을 아무리 해봐도 해결이 되지 않았고 원인도 모른채 실행이 불가능해지는 현상으로 인해 난감했었습니다.</p>
<p>이런 경우 시간적으로도 손해를 보는 상황이라 이에 대한 해결책으로 cmd 창에서 작업하는 방법을 택하였습니다. </p>
<p>먼저, mysqld.exe가 존재하는 경로를 복사해줍니다.</p>
<blockquote>
<p>[서비스] → MYSQL80 [우클릭] → [속성]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/270247b8-10e5-487c-8d51-6d03c5530a9e/mysql_tutorial_04.jpg" alt=""></p>
<blockquote>
<p>윈도우 검색 상자 [시스템 환경 변수 편집] → [환경 변수]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/bfc051d2-0881-4831-bc80-d9d018fcfa86/mysql_tutorial_05.jpg" alt=""></p>
<blockquote>
<p>시스템 변수 [Path] → [편집] → [새로 만들기] → 경로 붙여넣기 → [확인]</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/19b4dd9b-e115-469f-9035-dd17d1bdb056/mysql_tutorial_06.jpg" alt=""><img src="https://images.velog.io/images/blaster-code/post/bf71f039-9ea8-4758-9543-6cc12fd4a98a/mysql_tutorial_07.jpg" alt=""></p>
<p>환경 변수 설정을 적용하고나서 cmd 창을 열어준 후 아래와 같은 명령어를 실행해주면 MySQL 8.0 Command Line Client와 같은 작업 환경이 나타나집니다.</p>
<blockquote>
<p>mysql -uroot -p</p>
</blockquote>
<p><img src="https://images.velog.io/images/blaster-code/post/df504ba2-a96b-4de7-b6de-6e6206014f6d/mysql_tutorial_08.jpg" alt=""></p>
<hr>
<h4 id="📑-참고문헌">📑 참고문헌</h4>
<p><a href="https://www.aladin.co.kr/shop/wproduct.aspx?ISBN=K162730525&amp;start=pnaver_02">김상형의 SQL 정복</a>
<a href="https://azure.microsoft.com/ko-kr/overview/nosql-database/">NoSQL 데이터베이스 - NoSQL이란?</a>
<a href="https://aws.amazon.com/ko/relational-database/">관계형 데이터베이스란 무엇입니까?</a>
<a href="https://forums.mysql.com/read.php?10,408161,408181#msg-408181">Command Line Client not working</a></p>
]]></description>
        </item>
    </channel>
</rss>