티스토리 뷰
1. MySQL 소개
2. MySQL 설치방법
1. MySQL 소개
데이터베이스(Database)는 데이터들을 묶어둔 집합을 말한다.
DBMS를 쓰지 않고, Node.js에서 회원가입과 게시판 기능을 구현했다고 가정해보자. 이때 내가 회원가입을 하고 게시판에 글을 작성한 후 서버를 껐다가 다시 켜면 그 내용들이 모두 사라질 것이다. 즉, 웹 서버는 데이터를 저장하는 기능이 없다. 웹 사이트가 구동되는 동안 입력받은 데이터를 저장하고, 수정하고, 관리하고, 조회할 수 있는 시스템의 도움을 받아야 제대로 기능이 구현되고 이용자들의 요구사항을 만족시킬 수 있을 것이다.
과거에는 데이터를 파일 형태로 저장하는 파일 시스템을 사용했다. 각각의 프로그램별로 데이터 파일을 갖고 있다보니 데이터 종속성(데이터의 구성 방법이나 접근 방법을 변경할 때에는 이것을 기반으로 한 응용 프로그램도 변경해야 함)이 발생했고, 다른 시스템에서 이용하고 있는 데이터가 필요하더라도 접근할 수 없어서 동일한 데이터를 여러 데이터베이스에 저장해두어서 하나의 값을 변경하려면 동일한 데이터가 있는 모든 곳을 찾아서 수정해야 했다.
이러한 데이터의 중복성은 일관성(데이터 간 불일치), 보안성, 경제성(저장 공간 낭비) 등의 이슈를 동반했다. 사용자가 언제 어디서든 데이터베이스에 접근하면 그 데이터가 항상 정확하게 일정한 위치에 있다는 믿음이 생겨야 하는데, 그 신뢰성을 보장받지 못했다. 그래서 데이터 중복성을 해결해 줄 수 있는 새로운 시스템의 필요성이 대두되었다. 그것이 바로 DBMS(DataBase Management System)이다.
MySQL은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 다중 스레드, 다중 사용자 형식의 구조질의어에 대한 데이터베이스 관리 시스템으로서 오라클이 관리 및 지원하고 있다.
MySQL의 GUI 관리툴은 따로 내장되어 있지 않다.
2. MySQL 설치방법
WSL의 Ubuntu를 기준으로 MySQL 설치방법을 소개하겠다.
$ sudo apt update
// 설치 가능한 패키지 리스트를 최신화
// --> update와 upgrade의 차이
// sudo apt update는 설치 가능한 패키지의 리스트만 보여주고, 업데이트는 진행하지 않는다.
// sudo apt upgrade는 설치 가능한 패키지 리스트의 패키지들을 실제로 업데이트한다.
$ sudo apt install mysql-server
// mysql-server 설치
$ mysql --version
// mysql이 제대로 설치되었는지 확인
$ sudo service mysql start
// mysql 서버 시작
$ sudo mysql_secure_installation
// mysql 보안 설정 (모두 y를 눌러도 무방)
$ vim ~/.bashrc
// 환경변수를 설정하는 것인데 생략 가능
$ sudo mysql
// mysql 구동 ('mysql>'이라고 뜨면 성공)
이제 Ubuntu에서 MySQL을 사용할 수 있게 되었다.
'sudo mysql -u[계정명] -p[패스워드]'를 입력하면 해당 계정으로 MySQL에 들어갈 수 있다. 위 그림에서는 -p 뒤에 패스워드를 치지 않고 Enter를 쳐서 패스워드를 따로 입력해주었다. 이렇게 한 이유는 컴퓨터 화면에 내가 입력하는 패스워드가 보이지 않게 하는 것이 보안상 더 안전하기 때문이다.
MySQL에서는 모든 명령어의 마지막에 세미콜론(;)을 꼭 붙여주어야 한다.
show databases; 라는 명령어를 입력하면 테이블을 모두 볼 수 있다.
use example; 은 선택한 테이블을 이용하겠다는 뜻이다.
더 자세한 SQL 명령어는 다음 게시글에 정리해서 올리겠다.
'MySQL' 카테고리의 다른 글
MySQL 서버 타임존 & 로컬 타임존 설정 (0) | 2022.03.30 |
---|---|
[MySQL] SQL 문법 - DDL, DML, DCL (0) | 2022.02.17 |
- Total
- Today
- Yesterday
- location 객체
- 컴파일
- bom
- Screen 객체
- Browser Object Model
- c언어
- DOM
- 키워드
- Document Object Model
- Navigator 객체
- short
- 리액트 #React #props #state #javascript
- window 객체
- stdio.h
- int
- gcc
- Char
- long
- keyword
- 변수
- History 객체
- 자료형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |