MySQL 03. MySQL - DB생성, phpmyadmin

|

생활코딩 - MySQL

SQL

  • Structured Query Language
  • 데이터베이스에서 데이터를 저장하거나 얻기 위해서 사용하는 표준화된 언어.

Database

  • 데이터가 실질적으로 적재되는 테이블들을 분류하는 상위 개념

생성

CREATE DATABASE `데이터베이스명` CHARACTER SET utf8 COLLATE utf8_general_ci;

삭제

DROP DATABASE `데이터베이스명`;

열람

SHOW DATABASE;

선택

USE `데이터베이스명`;

phpmyadmin

  • 웹 환경에서 DB를 제어할 수 있는 mysql client

실행방법

  • Bitnami 설치 - 참고자료
  • Bitnami 실행 후 MySQL, Apache Web Server 구동
  • http://localhost:8080/phpmyadmin/ 접속 (open phpMyAdmin)
  • bitnami 설치시 지정한 암호로 (id : root) 접속
views
bitnami 설치를 통한 내부 웹서버 구동

자료

MySQL 02. MySQL Client - mysql monitor 기본

|

생활코딩 - MySQL

mysql client 종류

mysql-monitor

  • mysql을 설치하면 기본적으로 설치되는 프로그램
  • mysql -u아이디 -p비밀번호
  • mysql query browser
    • GUI 환경 제공
  • phpMyAdmin
    • 서버에 직접 설치하는 웹프로그램으로, 웹으로 제공되는 서비스이기 때문에 어디서든지 웹환경에서 DB를 제어할 수 있다.
  • navicat
    • 기능이 많고 안정적이다. 유료

mysql monitor 사용법

mysql monitor

  • mysql 서버의 번들로 제공되는 기본 프로그램 (mysql client)
  • 명령어 기반
  • mysql 관련된 거의 모든 기능을 사용할 수 있고, mysql이 있는 곳에 함께 기본으로 설치되어 있다.

사용법

  • mysql -u아이디 -p비밀번호
  • mysql -h호스트주소 -p포트번호 -u아이디 -p비밀번호

데이터베이스 생성 및 조회

mysql > CREATE DATABASE music CHARACTER SET utf8 COLLATE utf8_general_ci; mysql > show databases

데이터베이스 선택

mysql > use music

테이블 생성 및 조회

CREATE TABLE `favorite_music` (
  `title` varchar(255) NOT NULL,
  `musician` varchar(20) NOT NULL,
  `duration` varchar(20) NOT NULL,
  `album` varchar(30) NOT NULL
) ENGINE=innodb;

mysql> show tables;

테이블에 데이터 추가

insert into favorite_music (`title`,`musician`, `duration`, `album`) values('Chasing Pavements', '아델', '3:30', 19);

입력된 데이터 조회

select * from favorite_music;

종료

mysql> exit;

MySQL 01. MySQL 설치 및 환경설정

|

생활코딩 - MySQL

데이터베이스와 MYSQL

  • 데이터베이스란 : 데이터의 저장소

데이터베이스의 종류

  • 관계형 데이터베이스
    • mysql, oracle, mssql
  • nosql
    • mongodb 등

데이터베이스 시스템의 구성

views

Database Server

  • DB 서버 안에 데이터를 저장하고, 저장된 데이터를 수정하거나 삭제하는 등의 제어 관리 기능을 갖고 있는 것

Database

  • Table을 카테고리로 분류한것

table

  • row(행) : 서로 연관되어 있는 데이터의 그룹
  • column(열) : 데이터의 성격에 대한 구분
  • field : 한칸 한칸에 들어가 있는 구체적인 데이터
  • record : 구체적인 데이터의 행

Database Client

  • DB 서버에게 요청해서 여러가지 명령을 하거나, 데이터를 가져온다거나 서버의 상태를 체크하기 위한 시스템
  • mysql-client 는 mysql을 설치하면 기본적으로 설치된다.

MySQL 설치

HomeBrew를 통한 설치

how to

  1. HomeBrew 설치
  2. mysql 설치 : $ brew install mysql
  3. mysql 시작 : $ mysql.server start
  4. root 비밀번호 설정 : $ mysql_secure_installation
    • Would you like to setup VALIDATE PASSWORD plugin? : 비밀번호 가이드. 복잡한 비밀번호를 사용하도록 제한해주는 플러그인을 사용하려면 yes, 보안은 무시하고 그냥 쓰던 비밀번호 제한받지 않고 쓰고 싶다면 no.
    • Remove anonymous users? : 익명사용자 삭제할지/계속 사용할지 여부. no 하면 $ mysql -uroot가 아니라 $ mysql만으로도 접속 가능. yes하면 -u 옵션 필수.
    • Disallow root login remotely? : localhost외에 다른 ip에서 root 아이디로 원격접속 가능하게 할지. yes하면 원겹접속 불가.
    • Remove test database and access to it? : mysql에 기본적으로 설정된 test 디비 삭제 여부.
    • Reload privilege tables now? : 하나라도 권한 변경을 했다면 yes 해서 하는 게 정신건강에 좋을 것입니다.
  5. charset 설정 : $ mysql -uroot -p로 로그인하고, > status;로 charset 확인.
    • 기본적으로 charset 4개가 모두 utf8이어서 그대로 두면 됨!
    • 혹시나 latin등 다른 값이 있다면 위의 4. charset UTF-8로 바꾸기 따라하기. my.cnf가 기본적으로 존재하지 않으므로 $ vi /etc/my.cnf 등을 통해 새로 생성.
  6. 데몬 실행 $ brew services start mysql (참고)
    • 로그인시 데몬 자동 실행 (To have launchd start mysql at login): $ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
  7. +, brew로 설치했다면 환경변수 설정은 필요없어요! :)

versions

brew는 기본적으로 최신 버전(5.7)을 제공하지만, 다른 버전(5.6 등)을 설치하고 싶은 경우 brew versions를 사용합니다.

  1. $ brew tap homebrew/versions로 brew versions를 설치 후,
  2. $ brew search mysql로 검색, 원하는 버전의 formula 이름을 확인합니다. (예: homebrew/versions/mysql56)
  3. $ brew install <설치할 formula>으로 mysql 설치. (예: $ brew install homebrew/versions/mysql56)

170315_TIL

|

170314_TIL

|

오늘 한 일

  • django 강의에서 Class-based view 를 사용해서 로그인화면과 회원가입 화면을 구현하는 것을 배웠다. 장고 개인프로젝트에서는 Function-based view로 인증 관련 화면을 구현했었다. 새로운 방법을 배웠으니 이번 기회에 Class-based view로 다시 만들어 보려고 한다.
  • 아이폰 ios 개발 강좌 - 앱 12개를 만들며 배우는 Swift3 & iOS10를 결제했다. 백엔드개발과 아이폰 앱개발 중에서 무엇을 할지 고민이다. 아직 5월 까지는 시간이 있고 27일부터 시작하는 컴퓨터공학 입문 수업을 들으면서 아이폰 앱개발이 어떤건지 경험해보고 싶다. 최근 5년 넘게 맥만 사용했던지라 앞으로 개발자로 일하게 되어도 가능하면 맥을 사용하고 싶다. 아이폰 앱개발을 한다면 맥만 사용할 수 있다는게 앱개발을 하고싶은 단순한 이유인데, 백엔드 개발처럼 재미를 느낄 수 있을지 궁금하다.
  • 생활코딩 MySQL 수업을 듣기 시작했다. 이 수업을 다 들으면 정호영님의 MySQL로 배우는 데이터베이스 개론을 들어야겠다.

내일 할 일