2021년 4월 5일 (월) 22:03 판
1 개요
데이터베이스 중 하나.
2 설치
설치할 때 root의 비밀번호를 설정한다. 잊지 않게끔 잘 기억해두자.
2.1 열기
운영체제
|
설명
|
방법
|
우분투
|
루트권한으로 접근해야 사용할 수 있다.
sudo mysql 을 치면 MySQL모니터에 접근한다.
|
|
윈도우
|
cmd로 설치파일이 있는 경로로 이동한 후 명령 실행.
|
mysql.exe -u root -p
|
2.2 시스템 재부팅
3 기본명령
MySQL 모니터 안에서 사용하는 명령이다.
명령의 마지막엔 ; 이 붙어야 함에 유의하자.
(대문자, 소문자 구분을 안하던데, 왜 대문자로 치는지 모르겠네;;)
의도
|
설명
|
방법
|
데이터베이스 보기
|
모니터 안에서.
|
show DATABASES;
|
DB생성
|
|
CREATE DATABASE 데이터베이스이름;
|
DB삭제
|
|
DROP DATABASE 데이터베이스명;
|
DB사용
|
|
use 데이터베이스명;
|
테이블 보기
|
|
SHOW TABLES;
|
3.1 테이블 만들기
의도
|
설명
|
방법
|
테이블 만들기
|
IF NOT EXISTS 조건을 걸어 테이블의 종류를 최신화하는 것도 가능하다.
|
CREATE TABLE IF NOT EXISTS 테이블명(변수 타입, 변수2 타입2 제한조건, ....)
|
테이블 이름 제한
|
실수하기 쉬운 순서대로 나열해 보았다.
- 반드시 문자로 시작.(많은 사람들이 숫자로 시작하는 테이블을 만드는 실수를 한다.)
- 오라클에서 사용되는 예약어나 다른 객체명과 중복불가(TRUE 같은 것들은 사용 불가.)
- 1~30자 까지 가능함.
- A~Z까지의 대소문자와 0~9까지의 숫자, 특수기호는 (_, $, #)만 포함할 수 있음.
- 공백허용 안됨.
|
|
3.2 데이터 입력
의도
|
설명
|
방법
|
테이블 안에 데이터 입력
|
해당값은 따옴표, 쌍따옴표로 둘러 기입해준다.
|
insert into 테이블명 values('값', '값2', ...)
|
4 유저 관련
의도
|
설명
|
방법
|
유저생성
|
localhost 대신 해당 ip에서만 접속할 수 있게끔 제한할 수 있다.
|
CREATE USER '계정명'@'localhost' IDENTIFIED BY '비밀번호';
|
권한 주기
|
ALL은 모든 권한을 주는 것.
|
GRANT ALL ON DB이름.* TO '계정명'@'localhost';
|
유저 정보 보기
|
유저의 호스트, 유저명, 인증방법을 볼 수 있다.
|
select Host,User,plugin FROM mysql.user;
|
4.1 외부에서 접속(원격접속)
기본적으로 접속은 localhost에서만 가능하다. 2가지 과정이 필요하다.
과정
|
설명
|
외부에서 접속 가능한 계정 만들기
|
mysql -u root -p 로 mysql을 실행한 후 SELECT User, Host, plugin FROM mysql.user;를 쳐보면, Host가 localhost로 되어있을 것이다.
새로운 ip에 맞게 유저를 만들어주어야 한다.(같은 유저라도 호스트에 따라 다른 계정이 된다.)
과정
|
설명
|
|
계정 만들기
|
CREATE USER '계정명'@'%' IDENTIFIED BY '비밀번호';
계정명 뒤의 옵션에 따라 허용해주는 ip가 달라진다.
옵션
|
설명
|
%
|
모든 아이피 허용
|
111.222.%
|
111.222로 시작하는 아이피 모두 허용
|
111.222.11.22
|
111.222.11.22만 허용
|
|
|
권한부여
|
*.* 은 모든 DB의 모든 table을 의미한다.
|
GRANT ALL PRIVILEGES ON *.* TO '계정'@'%';
|
인증비밀번호설정
|
비밀번호까지 다시 설정해주어야 제대로 된다.
|
alter user '계정'@'%' identified with mysql_native_password by '비밀번호';
|
|
바인드주소 지우기
|
cd /etc/mysql/mysql.conf.d 에서 mysqld.cnf 파일을 편집한다.(버전, 운영체제 버전에 따라 다를 수 있다.)
바인드 어드레스를 다음과 같이 주석처리한 후 저장. #bind-address = 127.0.0.1
이후 sudo service mysql restart
|