MYSQL notes on redgoose note

MYSQL notes

Nest: Development Category: Database 2018-06-20

subquery 사용하기

두개의 테이블의 조건을 조합하여 데이터를 가져오기

select * from TABLE where FIELD in (select id from TABLE_NAME where level>1);

로컬환경에서의 사용자 추가/삭제

root 계정으로 접속하기

sudo mysql

사용자 추가, 데이터베이스 추가하기

// 사용자 추가
> create user '{USERNAME}'@'%' identified by '{PASSWORD}';

// 사용자 권한주기
> grant all privileges on {DATABASE}.* to '{USERNAME}'@'%';

// 데이터베이스 추가
> CREATE DATABASE `{DATABASE}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

// 권한 갱신
> flush privileges;

만약 Access denied for user 'root'@'localhost' 관련 오류가 나온다면.. 다음과 같이 실행해본다.

sudo mariadb-secure-installation

참고 url


사용자 조회하기

다음과 같은 명령으로 사용자 조회할 수 있다.

MariaDB [(none)]> select host,user from mysql.user;
+-----------+----------+
| Host      | User     |
+-----------+----------+
| %         | redgoose |
| localhost | root     |
+-----------+----------+
2 rows in set (0.001 sec)

만약 다음과 같이 같은 유저로 여러 호스트로 나온다면 하나만 남도록 나머지는 지워줘야 합니다.
호스트는 %만 남도록 나머지는 지우는것을 추천드립니다.

+-----------+----------+
| Host      | User     |
+-----------+----------+
| %         | redgoose |
| localhost | redgoose |
| localhost | root     |
+-----------+----------+

다음 명령으로 사용자를 삭제할 수 있습니다.

drop user {USERNAME}@{HOST};

변경된 권한 적용하기

실제로 적용시키려면 다음과 같이 실행합니다.

flush privileges;