MySQL cmd 명령어 - MySQL cmd myeonglyeong-eo

mysql 기본 명령어


이번에는 리눅스에서 MYSQL 명령어를 포스팅하겠습니다.

MySQL cmd 명령어 - MySQL cmd myeonglyeong-eo

데이터베이스 언어의 3가지 종류와 형태

1. DDL(Data Define Language) : 데이터베이스 관리(crete, alter, drop)

2. DML(Data Management Language) : 데이터베이스 데이터관리(select, insert, update, delete)

3. DCL(Data Control Language) : 데이터베이스 권한 관리(grant, revoke)

리눅스에서 MYSQL 명령어를 사용하기전에 MYSQL이 실행중인지 확인한 후 실행중이 아니라면 실행 시켜 줍니다.

MySQL 실행하기

[root@web ~]# /etc/init.d/mysqld start

MySQL 실행 확인

[root@web ~]# ps -ef | grep mysql

MySQL Console 접속 방법

[root@web ~]# mysql -u root -p
Enter password:

MySQL 명령어 사용시 호스트가 localhost일 경우 생략 가능하고 비밀번호가 없을 경우 생략이 가능합니다.

-p 옵션이 붙어 있을 경우 명령어 입력시 비밀번호를 물어봅니다.

비밀번호 변경

[root@web ~]# mysqladmin -u root password 비밀번호

현재 사용가능한 데이터베이스의 목록을 출력

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql>

데이터베이스 생성

mysql> create database mysql_DB;
Query OK, 1 row affected (0.06 sec)

create 명령어로 mysql_DB를 생성하였습니다.

root가 아닌 유저가 DB를 생성하려면 DDL 명령어에 대한 권한이 있어야 합니다.

데이터베이스 사용

mysql> use mysqlDB;

생성된 데이터베이스 mysqlDB 사용하려면 use를 입력하여 mysqlDB를 선택하여 줍니다.

테이블 생성

mysql> create table test_table(
    -> 
    -> sno int not null,
    -> 
    -> name char(10),
    -> 
    -> det char(20),
    -> 
    -> addr char(80),
    -> 
    -> tel char(20),
    -> 
    -> PRIMARY KEY(sno)
    -> 
    -> );
Query OK, 0 rows affected (0.00 sec)

데이터베이스 테이블 출력

mysql> show tables;
+--------------------+
| Tables_in_mysql_DB |
+--------------------+
| test_table         |
+--------------------+
1 row in set (0.00 sec)

테이블 출력 명령어를 출력하면 위에서 생성한 test_table 생성된것을 확인할수 있습니다.

데이터베이스 테이블 구조 확인

mysql> desc test_table;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| sno   | int(11)  | NO   | PRI | NULL    |       |
| name  | char(10) | YES  |     | NULL    |       |
| det   | char(20) | YES  |     | NULL    |       |
| addr  | char(80) | YES  |     | NULL    |       |
| tel   | char(20) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
5 rows in set (0.00 sec

desc 명령어로 생성한 테이블의 출력하면 위에서 생성한 테이블 내용을 볼수 있습니다.

목차

MySQL cmd 명령어 - MySQL cmd myeonglyeong-eo

mysql을 워크벤치가 아닌 콘솔(리눅스)로서 사용할때 명령어 모음이다.

이걸 CLI 명령어라고도 한다.

MYSQL 서버 명령어

mysql서버 잘 돌고있는지 확인

$ service mysql status

mysql서버 구동

$ service mysql start

mysql 재구동

$ service mysql restart

mysql 명령 프롬프트 나가기

$ exit

MYSQL 사용자 명령어

root 권한으로 mysql 콘솔 실행

$ mysql -u root -p

비밀번호 변경

$ mysql admin –u root –p password

현재 등록된 사용자 조회

mysql> use mysql;
mysql> select user, host from user;

사용자 추가

/* CREATE USER '계정 아이디'@'접속위치(localhost)' identified by '패스워드'; */

mysql> create user userid@localhost identified by 'password';

mysql> create user 'userid'@'%' identified by 'password';
%는 wildcard의 의미로서 any host로부터의 접속을 허용한다는 뜻이다.

사용자 삭제

mysql> drop user 'userid';

DB에 대한 사용자 권한 부여 (모든 권한 부여)

/* GRANT ALL PRIVILEGES ON *.* TO '계정 아이디'@'접속 위치' WITH GRANT OPTION; */

mysql> GRANT ALL PRIVILEGES ON *.* TO '계정 아이디'@'localhost' WITH GRANT OPTION;
mysql> flush privileges;
MySQL cmd 명령어 - MySQL cmd myeonglyeong-eo

DB에 대한 사용자 권한 부여 (특정 권한 부여)

mysql> grant select, insert, update on dbname.table to userid@host identified by 'password';
mysql> flush privileges;
dbname.table 대신에 dbname.*을 지정하면 db의 모든 테이블에 대한 권한 설정.

권한 삭제

mysql> revoke all on dbname.table from userid@host;
mysql> flush privileges;

권한 조회

/* SHOW GRANTS FOR '계정 아이디'@'접속 위치'; */

mysql> show grants for userid@host;
MySQL cmd 명령어 - MySQL cmd myeonglyeong-eo

MYSQL 쿼리문

database 조회

mysql> show databases;

database 선택

mysql> use database;

테이블 구조 확인

mysql> explain 테이블명;

Reference

https://chobopark.tistory.com/66

잘못된 내용이 있으면 댓글로 피드백 부탁드립니다 :)

이 글이 좋으셨다면 구독 & 좋아요

여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.

MySQL cmd 명령어 - MySQL cmd myeonglyeong-eo