어쩌다 IT
article thumbnail
반응형

리뷰 (Review)


MariaDB

 

MariaDB 설치 및 사용

 

    1. MariaDB 설치 및 상태 확인

song@song:~$ sudo apt install mariadb-server		# MariaDB 설치
song@song:~$ systemctl status mariadb.service		# MariaDB 상태 확인
● mariadb.service - MariaDB 10.3.34 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor prese>
     Active: active (running) since Fri 2022-08-26 09:57:44 KST; 4min 45s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 773 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/>
    Process: 809 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_STA>
    Process: 869 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && V>
    Process: 1250 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_S>
    Process: 1254 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/>
   Main PID: 934 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 4624)
     Memory: 95.0M
     CGroup: /system.slice/mariadb.service
             └─934 /usr/sbin/mysqld
...
song@song:~$

 

    2. MariaDB 실행

song@song:~$ mariadb
ERROR 1698 (28000): Access denied for user 'song'@'localhost'
song@song:~$ mysql
ERROR 1698 (28000): Access denied for user 'song'@'localhost'
song@song:~$ sudo mariadb		# 관리자 권한 필요
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 40
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

    3. Database 목록 확인

MariaDB [(none)]> show databases;		# DB 목록 확인, 끝에 ; 꼭 넣어야 함.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.015 sec)

MariaDB [(none)]>

 

    4. Database 생성

MariaDB [(none)]> create database st_db;		# 데이터베이스 생성
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> show databases;		# 데이터베이스 목록 확인
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| st_db              |
+--------------------+
4 rows in set (0.015 sec)

MariaDB [(none)]> use st_db;		# st_db 데이터베이스 사용
Database changed
MariaDB [st_db]>		# (none) 에서 st_db로 바뀜

 

    5. 테이블 생성

MariaDB [st_db]> show tables;		# 테이블 목록 출력
Empty set (0.000 sec)
MariaDB [st_db]> create table st_info (		# st_db 테이블 생성
    -> ST_ID int,
    -> NAME varchar(20),
    -> DEPT varchar(25)
    -> );
Query OK, 0 rows affected (0.013 sec)

MariaDB [st_db]> create table st_grade (		# st_grade 테이블 생성
    -> ST_ID int,
    -> Linux int,
    -> DB int
    -> );
Query OK, 0 rows affected (0.015 sec)

MariaDB [st_db]> show tables;		# 생성한 두 개의 테이블 확인
+------------------+
| Tables_in_st_db |
+------------------+
| st_grade         |
| st_info          |
+------------------+
2 rows in set (0.000 sec)

MariaDB [st_db]>

 

    6. 기본 키 추가 및 특정 필드를 기본 키로 설정하기

MariaDB [st_db]> alter table st_info modify ST_ID int Not Null;
Query OK, 0 rows affected (0.024 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [st_db]> alter table st_grade modify ST_ID int Not Null;
Query OK, 0 rows affected (0.023 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [st_db]> alter table st_info add constraint pk_stinfo primary key(ST_ID);
Query OK, 0 rows affected, 1 warning (0.022 sec)
Records: 0  Duplicates: 0  Warnings: 1

MariaDB [st_db]> alter table st_grade add constraint pk_stgrade primary key(ST_ID);
Query OK, 0 rows affected, 1 warning (0.022 sec)
Records: 0  Duplicates: 0  Warnings: 1

MariaDB [st_db]>

 

    7. 레코드 입력하기

MariaDB [st_db]> insert into st_info values (101, "Lee", "Game");
Query OK, 1 row affected (0.005 sec)

MariaDB [st_db1> insert into st_info values (102, "Kim", "Computer");
Query OK, 1 row affected (0.014 sec)

MariaDB [st_db]> insert into st_info values (103, "Hong", "Game");
Query OK, 1 row affected (0.015 sec)

MariaDB [st_db]> insert into st_grade values (101, 90, 80);
Query OK, 1 row affected (0.015 sec)

MariaDB [st_db]> insert into st_grade values (102, 70, 95);
Query OK, 1 row affected (0.003 sec)

MariaDB [st_db]> insert into st_grade values (103, 80, 65);
Query OK, 1 row affected (0.014 sec)

MariaDB [st_db]>

 

    8. 레코드 검색하기

MariaDB [st_db]> show tables;
+-----------------+
| Tables_in_st_db |
+-----------------+
| st_grade        |
| st_info         |
+-----------------+
2 rows in set (0.000 sec)

##### st_info 전체값 출력하기 #####
MariaDB [st_db]> select * from st_info;
+-------+------+----------+------+
| ST_ID | NAME | DEPT     | AGE  |
+-------+------+----------+------+
|   101 | Lee  | Game     |   23 |
|   102 | Kim  | Computer |   27 |
|   103 | Hong | Game     |   25 |
+-------+------+----------+------+
3 rows in set (0.000 sec)

###### ST_ID 101의 NAME, DEPT 출력 ######
MariaDB [st_db]> select NAME, DEPT from st_info where ST_ID=101;
+------+------+
| NAME | DEPT |
+------+------+
| Lee  | Game |
+------+------+
1 row in set (0.000 sec)

###### ST_ID 101의 NAME, DEPT, DB 출력 ######
MariaDB [st_db]> select st_info.NAME, st_info.DEPT, st_grade.DB
    -> from st_info, st_grade
    -> where st_info.ST_ID=101 and st_grade.ST_ID=101;
+------+------+------+
| NAME | DEPT | DB   |
+------+------+------+
| Lee  | Game |   80 |
+------+------+------+
1 row in set (0.000 sec)

MariaDB [st_db]>

MariaDB Windows, Linux 연동해서 사용하기

 

    1. 사용자 설정

 

MariaDB / 사용자 만들기, 수정하기, 삭제하기, 권한 부여하기, 제거하기

사용자 목록 보기 mysql 데이터베이스의 user 테이블에서 필요한 정보 출력 SELECT User, Host FROM mysql.user; 사용자 만들기 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'localhost' IDENT

www.codingfactory.net

song@song:/var/lib/mysql$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 사용자 생성, ex) user : song / pw : 1234
MariaDB [(none)]> create user "song"@"%" identified by "1234";
Query OK, 0 rows affected (0.011 sec)

# song@%에게 모든 데이터베이스의 모든 테이블에 대한 모든 권한 부여
MariaDB [(none)]> grant all privileges on *.* to "song"@"%";
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> Ctrl-C -- exit!

# mysql -u 유저이름 -p
song@song:/var/lib/mysql$ mysql -u song -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

 

    2. mariadb-10.9.2-winx64 설치

 

Download MariaDB Server - MariaDB.org

REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

 

    3. HeidiSQL 실행 및 연결

1에서 root 또는 생성한 사용자와 비밀번호 입력

 

    4. HeidiSQL 사용

데이터베이스, 테이블, 레이블 관리 및 쿼리 사용 등

 

    5. 실습


TIF

오늘은 SQL, 데이터베이스 관련해서 많이 배운 날이었다.

뭐랄까... 전공 수업인데... 아니 그냥 전공 수업이었다. 조만간 공작법 교수님 뵈러 가야겠다 ^.^...

 

4주차가 끝났고, 에어컨을 틀지 않고 창문만 열어도 될 만큼 날씨는 선선해졌다.

하루하루가 상당히 짧게 느껴진다.

백준에서 하던 알고리즘은 어느 순간 막혀있고...

스터디 조원분께서 추천해 주신 코드업에서 조금 해보다가 다시 넘어가야겠다.

 

 

2022. 08. 26 에 작성된 글입니다.

반응형
profile

어쩌다 IT

@jwlish

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!