StoryCode

'Database 관리'에 해당되는 글 41건

  1. 디비별 SQL 비교
  2. 설치
  3. JSON 처리
  4. 표준 ANSI SQL MODE (Strict Mode) 사용 On/OFF
  5. MongoDB vs MySQL CRUD 비교
  6. 성능 최적화 전략
  7. 기초사용법
  8. 설치 ( Windows )
  9. 용어
  10. 설치 및 설정

디비별 SQL 비교

Database 관리
반응형

 

  Maria (RDB) MongoDB

Redis (메모리, NoSQL/Cache, 오픈 소스)

* 명령어 참조 : 

http://www.redisgate.com/redis/command/sets.php

 

* 기타 참조 :

https://codingmania.tistory.com/18

https://codingmania.tistory.com/25?category=563274

DJango

 

* 참조

https://brownbears.tistory.com/63

특징    

1. 리스트, 배열 데이터 처리

2. value 값으로 문자열, 리스트, Set, Sorted set, Hash 등  

3. 리스트형 데이터 입력과 삭제가 MySQL 대비 10배

( 초당 2만 ~ 10만회 수행 성능 )

4. 여러 프로세스에서 동시에 같은 key에 대한 갱신을 요청할 경우, Atomic 처리로 데이터 부정합 방지 Atomic처리 함수를 제공

5. 메모리를 활용하면서 영속적인 데이터 보존

- 명령어로 명시적으로 삭제, expires를 설정하지 않으면 데이터가 삭제되지 않는다.

 - 스냅샷(기억장치) 기능을 제공하여 메모리의 내용을 *.rdb 파일로 저장하여 해당 시점으로 복구할 수 있다.

6. Redis Server는 1개의 싱글 쓰레드로 수행되며, 따라서 서버 하나에 여러개의 서버를  띄우는 것이 가능하다.

- Master - Slave 형식으로 구성이 가능함

 

Server 실행     redis-server  
Clien 실행     redis-cli  
Server Alive Check     ping  
DATATYPE.String    

- String은 일반적인 Text문자열이며, key와 value가 각각 하나씩인 일대일 관계(유일)

- Text형태만 저장할 수 있는것이 아니라, binary safe string 이다.

- 이것이 의미하는 것은 JPEG 이미지나 숫자 알파벳 등을 사용할 수도 있다는 것이다.

- key와 value 모두 넣을 수 있는 최대 길이는 512MB이다.

- key는 너무 길면 찾기 어렵고, 불필요한 메모리 소모가 일어난다.

- key는 너무 짧으면 뭔지 해독하기 쉽지 않으므로 알맞게 하도록 하자.

- key를 구성할때 단어 사이에 구분자를 사용하는 것이 좋습니다. 

예를 들어 ':', '-' 등을 사용해서 key를 구성하면 쉽게 알아볼 수 있습니다. 

 

- set, get command

 

DATATYPE.Lists    

- 일반적인 배열로 생각하면 된다.

- List는 key 1개에 n개의 value를 갖는다. (단, 중복된 값 저장 가능함)

- 입력된 데이터값은 입력된 순서대로 순차적으로 저장 및 처리된다.

- 주로 큐(Queue)와 스택(Stack)으로 사용된다.

- 한 key에 담을 수 있는 최대 갯수는 4,294,967,295개(2^32 - 1개)
- LPUSH, LPOP, RPUSH, RPOP Command

 

DATATYPE.Sets      - Group 형태로 key 1개에 n개의 값을 갖는다. (단, 중복된 값 허용하지 않음)

 - 입력된 순서와 상관없이 저장되는 정렬되지 않은 집합형이다.

 - '집합'이기 때문에 한 key에 중복된 데이터는 존재할 수 없다.

 - 즉, 동일한 key에 같은 값 value A가 두 번 추가된다면 값은 하나만 존재하게 된다.

 - 한 key에 담을 수 있는 최대 갯수는 4,294,967,295개(2^32 - 1개)

 - Set의 경우 집합 연산을 제공한다. 합집합, 교집합, 차집합을 할 수 있다.

-  Sets에서는 집합이라는 의미에서 value를 member라 부른다.

   명령어 SADD : 데이터를 저장하기 위한 명령어.
 
DATATYPE.Sorted sets     - key 하나에 여러개의 score와 value로 구성된다.

- Sets과 마찮가지로 중복된 데이터는 허용하지 않는다.

  동일한 키에 값을 여러번 추가해도 하나만 존재하게 된다.

- Set에 'score'라는 필드가 추가된 데이터형이다.

- score로 데이터 값(value)의 순서를 정렬(sort)한다.

- score가 같다면 데이터 값(value)으로 정렬(sort)한다.

- 정렬된 데이터가 필요한 경우 Sorted Set 데이터형을 사용한다.

 
DATATYPE.Hashs    

- Hashes의 경우 key 하나에 여러개의 field와 value 쌍으로 구성된다.

Hashes VS Table 공통점
1. Hashes가 필드(field)와 값(value)로 구성된다는 점은 RDB의 table과 비슷하다.
2. Hash key는 table의 PK, field는 column, value는 value로 생각하면 비슷하다.
3. Key가 PK와 같은 역할을 하기떄문에 Key 하나는 table의 하나의 row와 같다.

Hashes VS Table차이점
1. Table의 column 수는 일반적으로 제한이 있다.
   하지만, Hashes의 field의 수는 40억개로 거의 무제한에 가깝다.

2. Table에서 column을 추가하려면 alter문으로 미리 table을 변경해야 하지만, 

   Hash에서는 그러한 사전 작업이 필요없다. 따라서, field의 추가/삭제가 자유롭다.

   field의 추가/삭제는 해당 key에서만 영향을 미친다.



출처: https://codingmania.tistory.com/25?category=563274 [괴발개발 개발새발 하는 개발자의 개발 블로그]

 

         
         
String set SET @KEY := VALUE   SET KEY = VALUE  
Value get SELECT @KEY   GET KEY  
CREATE TABLE        
SELECT 1 Row      

Syntax> model.objects.get(조건)

설명> 1 row 만 리턴해야 함.

Ex> key = model1.objects.get(pk=pk)

print(key.name)

SELECT Multi Row      

Syntax> model.objects.filter(조건)

설명> 조건에 맞는 Row 모두 가져옴

Ex> key= model.objects.filter(name='lee')

print(key[0]['name'])

SELECT ALL      

Syntax> model.objects.all()

Ex> key= model.objects.all()

print(key[0]['name']

INSERT        
UPDATE        
DELETE        
조건 키워드        
ORDER BY       Ex> value = model.objects.order_by('-pk') # 내림차순 정렬
value = model.objects.order_by('pk') # 오름차순 정렬
GROUP BY      

Syntax> Aggregate

Ex>

from django.db.models import Max
value = model.objects.aggregate(temp_name=Max('pk')) # temp_name은 사용자가 임의로 정할 수 있음
print(value['temp_name'])

 

 

 

 

Ex2>

from django.db.models import Max
from django.db.models.functions import Coalesce
value = model.objects.aggregate(temp_name=Coalesce(Max('pk'),10000)) # temp_name은 사용자가 임의로 정할 수 있음
print(value['temp_name'])

         
         
         
반응형

설치

Database 관리/Redis
반응형

1. mkdir download; cd download;

 

2. wget http://download.redis.io/redis-stable.tar.gz

3. tar zxvf redis-stable.tar.gz

 

4. cd redis-stable

 

5. make

만약, error: jemalloc/jemalloc.h: No such file or directory 오류 발생시

 

6. make distclean

 

7. make

 

8. make install

 

test 1.server 실행.

$ redis-server

 

test 2.ping 확인.

$ redis-cli ping

결과로 PONG 이 나타나면 된다.

 

test 3.client 테스트.

$ redis-clie

   set myval testvalue

   get myval

 

 

반응형

JSON 처리

Database 관리/Maria DB
반응형

참조 1 ) https://mariadb.com/kb/en/library/json-functions/

참조 2 ) https://mariadb.com/kb/en/library/json_object/

SELECT * FROM TEMP_TBL;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| V                                                                                                                                                    |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| [{"TYPE":"HP", "NO":"01012345678", "RETRY":"3"}, {"TYPE":"TELEGRAM", "NO":"42543524", "RETRY":"3"},{"TYPE":"KAKAO", "NO":"01012345678","RETRY":"3"}] |
+------------------------------------------------------------------------------------------------------------------------------------------------------+


SELECT JSON_EXTRACT(V, '$[0].NO'),
       JSON_UNQUOTE(JSON_EXTRACT(V, '$[0].NO')),
       JSON_VALUE  (V, '$[0].NO')
FROM   TEMP_TBL  A;
+----------------------------+------------------------------------------+----------------------------+
| JSON_EXTRACT(V, '$[0].NO') | JSON_UNQUOTE(JSON_EXTRACT(V, '$[0].NO')) | JSON_VALUE  (V, '$[0].NO') |
+----------------------------+------------------------------------------+----------------------------+
| "01012345678"              | 01012345678                              | 01012345678                |
+----------------------------+------------------------------------------+----------------------------+

SELECT JSON_EXTRACT(V, CONCAT('$[', B.NOUID - 1, '].NO'))
FROM   TEMP_TBL  A STRAIGHT_JOIN
       CLONE_TBL B
WHERE  B.NOUID BETWEEN 1 AND JSON_LENGTH(A.V)

+----------------------------------------------------+
| JSON_EXTRACT(V, CONCAT('$[', B.NOUID - 1, '].NO')) |
+----------------------------------------------------+
| "01012345678"                                      |
| "42543524"                                         |
| "01012345678"                                      |
+----------------------------------------------------+

 

 

명령설명)

 JSON_QUERY와 JSON_VALUE의 차이점
        JSON_QUERY와 JSON_VALUE의 예제와 비교합니다.
    JSON_ARRAY
        나열된 값이 포함 된 JSON 배열을 반환합니다.
    JSON_ARRAY_APPEND
        JSON 문서 내에서 주어진 배열의 끝에 값을 추가합니다.
    JSON_ARRAY_INSERT
        JSON 문서에 값을 삽입합니다.
    JSON_COMPACT
        불필요한 모든 공간을 제거하여 json 문서가 가능한 한 짧습니다.
    JSON_CONTAINS
        지정된 JSON 문서 또는 문서 내의 지정된 경로에서 값을 찾을 수 있는지 여부
    JSON_CONTAINS_PATH
        지정된 JSON 문서에 지정된 경로의 데이터가 있는지 여부를 나타냅니다.
    JSON_DEPTH
        JSON 문서의 최대 깊이.
    JSON_DETAILED
        중첩 구조를 강조하는 가장 이해하기 쉬운 방식으로 JSON을 나타냅니다.
    JSON_EXISTS
        지정된 데이터에 지정된 JSON 값이 있는지 확인합니다. 
    JSON_EXTRACT
        JSON 문서에서 데이터를 추출합니다.
    JSON_INSERT
        JSON 문서에 데이터를 삽입합니다.
    JSON_KEYS
        JSON 객체의 최상위 값에서 키를 반환하거나 경로에서 최상위 키를 반환합니다.
        MariaDB [test]> select id, json_keys(data) from json_test;
        +------+-----------------------------------+
        | id   | json_keys(data)                   |
        +------+-----------------------------------+
        |    1 | ["Name", "Sex", "Phone"]          |
        |    2 | ["Name", "Sex", "Phone", "Birth"] |
        |    3 | ["Name", "Sex", "Phone", "Birth"] |
        |    4 | NULL                              |
        |    5 | NULL                              |
        +------+-----------------------------------+
        5 rows in set (0.000 sec)

    JSON_LENGTH
        JSON 문서의 길이 또는 문서 내 값의 길이를 반환합니다.
    JSON_LOOSE
        더 읽기 쉽게 보이도록 JSON 문서에 공백을 추가합니다.
    JSON_MERGE
        주어진 JSON 문서를 병합합니다.
    JSON_MERGE_PATCH
        주어진 JSON 문서의 RFC 7396 호환 병합
    JSON_MERGE_PRESERVE
        JSON_MERGE의 동의어
    JSON_OBJECT
        주어진 키 / 값 쌍을 포함하는 JSON 객체를 반환합니다. 
    JSON_QUERY
        JSON 문서가 주어지면 경로로 지정된 객체 또는 배열을 반환합니다.
    JSON_QUOTE
        문자열을 JSON 값으로 인용합니다.
    JSON_REMOVE
        JSON 문서에서 데이터를 제거합니다.
    JSON_REPLACE
        JSON 문서에서 기존 값을 바꿉니다.
    JSON_SEARCH
        JSON 문서 내에서 지정된 문자열의 경로를 반환합니다.
    JSON_SET
        JSON 문서에 데이터를 업데이트하거나 삽입합니다.
    JSON_TYPE
        JSON 값의 유형을 반환합니다.
    JSON_UNQUOTE
        JSON 값을 인용 해제하여 문자열을 반환합니다. 
    JSON_VALID
        값이 유효한 JSON 문서인지 여부 
    JSON_VALUE
        JSON 문서가 주어지면 지정된 스칼라를 반환합니다.

반응형

'Database 관리 > Maria DB' 카테고리의 다른 글

UDF 만들기  (0) 2021.05.06
Ubuntu 20.04.02, MariaDB 10.5 설치, UDF 설치, System Call Udf  (0) 2021.02.16
maria10.zip.windows10 64bit.설치  (0) 2020.04.23
MySQL.무인스톨설치  (0) 2020.04.23
설치 및 설정  (0) 2018.10.31

표준 ANSI SQL MODE (Strict Mode) 사용 On/OFF

Database 관리/MySQL
반응형

1) 확인

mysql -u root -p -e "SHOW VARIABLES LIKE 'sql_mode';"

 

2) OFF

mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';" 

mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"

 

3) OFF vi my.cnf

[mysqld]

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

반응형

'Database 관리 > MySQL' 카테고리의 다른 글

실시간 SQL LOG 남기는 방법  (0) 2023.09.18
2023-226.MySQL,Architecture,아키텍처.우기  (0) 2023.08.06
콘솔.Tag자동완성  (0) 2023.07.31
Plan.용어.설명  (0) 2023.03.22
save as CSV  (0) 2022.01.07

MongoDB vs MySQL CRUD 비교

Database 관리/Mongo DB
반응형

- Scalability : Max ScaleUp vs Many ScaleOut

 

- Scale Up의 한계

  * 연결16개부터 성능향상 없음.

  * CPU Core 16 개부터 성능향상 없음.

 

- CAP 이론

  * MongoDB 는 C-P

 

- ACID 이론

 

 

- NoSQL(MongoDB) VS RDBMS(MySQL)

  * 동일한 데이터에 대해 CRUD 연산

  * 2개 이상의 클라이언트를 연결하여 연산 시도

  * MongoDB 는 싱글노드, 멀티노드를 구분하여 작업

  * 데이타 구하기 : https://www.data.gov/tools/123

  (https://www.data.gov/climate/ecosystem-vulnerability/ecosystem-vulnerability-tools/123)

 

 

[참고] https://www.slideshare.net/WooYeongChoe1/slidshare-mongodbmysqlcrud

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

성능 최적화 전략  (0) 2019.04.21
기초사용법  (0) 2019.04.18
설치 ( Windows )  (0) 2019.04.18
용어  (0) 2019.04.16

성능 최적화 전략

Database 관리/Mongo DB
반응형

- 데이터 모델링.References

db.member_tbl.find({memberid:'abc'});  와 같이 find 하면,
   { "_id" : ObjectId("5cb82543ffd1c1ef601f0350"), "memberid" : "abc" }

위와 같이 _id 의 ObjectId 가 있으며, _id 로 검색도 가능함. 즉 _id 를 다른 Collection 에넣고 참고 하는 방법이 가능.

   db.member_tbl.find({_id:ObjectId('5cb82543ffd1c1ef601f0350')}); 

 

- 데이터 모델링.BSON

  Binary 는 최대 16MB.

 

- Index

  * 각 Index 는 8KB 의 데이타 공간 필요.

  * Index 는 system.indexes Collection 에 저장됨 : db.system.indexes.find() 로 Index 확인 가능.

  * Index 생성 : db.member_tbl.ensureIndex({"username":1, "hpno":-1}, {"name":"idx_member_tbl"}, {"unique":true},}{"dropDups":true}, {"background":true}) # 1은 오름차순. -1 이면 내림차순. background 는 백그라운드로 생성.

                  ensureIndex = createIndex

  * Index 확인 : db.member_tbl.getIndexes()

  * Index 삭제 : db.member_tbl.dropIndex("name_1")

db.runCommand({"dropIndexes":"user", "index":"*"})

 

- Spatial Index

  * db.map_tbl.ensureIndex({"gps":"2d"})

  * Ex> {"gps":[0,100]}, {"gps":{"x":30,"y":30}}, {"gps":{"lat":30,"long":30}}

  * db.map_tbl.ensureIndex({"gps2":"2d"}, {"min":-1000, "max":1000})

    이 경우오류 발생함 : db.map_tbl.insert({"gps2":{-1001, 0}})

  * 참고 : https://docs.mongodb.com/manual/core/geospatial-indexes/

- Multikey Index

  Array Field Index

 

- Text Index

  * String 컨텐츠에 대한 Index

  * 참고 : https://docs.mongodb.com/manual/core/index-text/

 

- Hashed Index

  db.member_tbl.createIndex({"a":"hashed"})

 

- PLAN 확인.explain

  db.member_tbl.find().sort({"$natural":-1}).explain("executionStats")

 

- Capped Collection ( 제한 컬렉션 )

  * 고정사이즈. Insert, Retrive 시 high-throughput.

  * Insert 순서 보장.

  * 정렬을 위한 인덱스 불필요. 오버헤드 없이 higher insertion throughput.

  * db.createCollection("log", { capped:true, size:100000}}

  * Document 개수 제한 : db.createCollection("log", { capped:true, size:100000, max:5000}}

  * Document 는 항상 입력순서대로 원형큐에 저장

  * 큐가 다 찼을 경우, 오래된 문서부터 대치됨.

  * 역순서 정렬 : db.user.find().sort({"$natural",-1})

 

 

 

 

 

 

 

 

 

[ 참조 ] https://www.slideshare.net/mrg7211/mongo-db-52216593

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
기초사용법  (0) 2019.04.18
설치 ( Windows )  (0) 2019.04.18
용어  (0) 2019.04.16

기초사용법

Database 관리/Mongo DB
반응형

실행) "C:\Program Files\MongoDB\Server\4.0\bin\mongo.exe"

 

DDL) db.help() 참조

DB 생성 : use DB명. Collection 을 하나 생성해야 show dbs 에 보인다.

DB 선택 : use DB명. 이미 DB명이 있으면 선택. 없으면 생성됨.

DB 삭제 : use DB명 후 db.dropDatabase()

현재 DB 보기 : db 혹은 db.getName()

 

COLLECTION 생성 : db.createCollection("member_tbl") 혹은 insert cllection 시 자동 생성

                          생성시 옵션으로 db.createCollection("member_tbl", "{capped:true, autoIndex:true,size:6142800,max:10000}") 등을 줄 수 있다.

COLLECTION 삭제 : db.member_tbl.drop()

 

DML) 1 row = 1 Document

https://docs.mongodb.com/manual/tutorial/insert-documents/

https://docs.mongodb.com/manual/tutorial/query-documents/

https://docs.mongodb.com/manual/tutorial/update-documents/

https://docs.mongodb.com/manual/tutorial/remove-documents/

 

Ex> 사용 예제

> show dbs

admin    0.000GB

config    0.000GB

local      0.000GB

 

> use mydatabasename

> db.member_tbl.insert({memberid:'userid', memberpwd:1234, info:{membername:'hongildong', age:34}});

> show dbs

admin    0.000GB

config    0.000GB

local      0.000GB

mydatabasename 0.000GB

> show collections

member_tbl

db.member_tbl.find({memberid:'userid'})

> db.member_tbl.remove({memberid:'userid', justOne:false}); # 전체 삭제

 

[ 참조 ]

https://velopert.com/457

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
성능 최적화 전략  (0) 2019.04.21
설치 ( Windows )  (0) 2019.04.18
용어  (0) 2019.04.16

설치 ( Windows )

Database 관리/Mongo DB
반응형

다운로드 후 설치시, Windows 7 에서는 진행이 안되는 경우가 발생할 수 있다.

Compas 문제인데, Windows 8 부터 지원한다.

이 경우에는 아래지시를 따른다.


1. Run the installer with a double-click.

2. Click next.

3. Accept the License Agreement

4. Select the Complete installation type and click Instal

5. Uncheck the Install Compass option (by default this checked and Compass requires the Microsoft .NET Framework version 4.5 or later

6. With in a minute time installation will get complete and you can see the exe files under C:\Program Files\MongoDB\Server\3.6\bin

 

[ 참조 ] https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
성능 최적화 전략  (0) 2019.04.21
기초사용법  (0) 2019.04.18
용어  (0) 2019.04.16

용어

Database 관리/Mongo DB
반응형

[참조] https://www.a-mean-blog.com/ko/blog/MEAN-Stack/_/MEAN-Stack-%EC%86%8C%EA%B0%9C

 

몽고DB는 대표적인 NoSQL, Non Relational Database

문장, 이미지데이터(base64) 등 길이가 길고 일정하지 않은 데이터들을 저장하고 검색하는데 적합한 DB

고전적인 테이블, 행, 열의 개념이 없음

 

document : 하나의 데이터. JSON형식. Javascript의 object와 마찬가지로 고정된 형식이 없으며 항목의 추가 삭제가 자유

 

collection : document의 모음.

 

데이터의 조작은 SQL대신 Javascript로 할 수 있습니다.

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
성능 최적화 전략  (0) 2019.04.21
기초사용법  (0) 2019.04.18
설치 ( Windows )  (0) 2019.04.18

설치 및 설정

Database 관리/Maria DB
반응형

1) MariaDB 10 설치.

MariaDB 공식 홈페이지에서 리포지토리 정보 취득


URL: https://downloads.mariadb.org/mariadb/repositories/ => 시키는 대로 설치

    1. Choose a Distro -> CentOS

    2. Choose a Release -> CentOS 7 (64-bit)

    3. Choose a Version -> 10.3 [Stable]


rpm -qa Maria*

    MariaDB-compat-10.3.10-1.el7.centos.x86_64

    MariaDB-common-10.3.10-1.el7.centos.x86_64

    MariaDB-client-10.3.10-1.el7.centos.x86_64

    MariaDB-server-10.3.10-1.el7.centos.x86_64



2) MariaDB 설정

# vi /etc/my.cnf.d/server.cnf

[mysqld]

character-set-server = utf8


# systemctl start mariadb

# systemctl enable mariadb

# mysql_secure_installation => root 암호설정 됨.

# systemctl status mariadb



3) 유저 생성 및 IP 허용

https://dev.mysql.com/doc/refman/5.7/en/adding-users.html


create user 'service'@'%' identified by "password";


GRANT ALL PRIVILEGES ON *.* TO 'service'@'%';

GRANT ALL PRIVILEGES ON *.* TO 'service'@'localhost'  identified by "암호";



모든 IP 허용

INSERT INTO mysql.user (host,user,password) VALUES ('%','root',password('패스워드'));

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';


FLUSH PRIVILEGES;




IP 대역 허용 ( 예: 111.222.xxx.xxx )

다음과 같이 설정하면 111.222로 시작하는 모든 IP가 허용된다.


# INSERT INTO mysql.user (host,user,password) VALUES ('111.222.%','root',password('패스워드'));

# GRANT ALL PRIVILEGES ON *.* TO 'root'@'111.222.%';

# FLUSH PRIVILEGES;


 


# 특정 IP 1개 허용 ( 예: 111.222.33.44 )

# INSERT INTO mysql.user (host,user,password) VALUES ('111.222.33.44','root',password('패스워드'));

# GRANT ALL PRIVILEGES ON *.* TO 'root'@'111.222.33.44';

# FLUSH PRIVILEGES;




# 모든 IP를 허용한 경우 다음과 같이 원래 상태로 복구할 수 있다.

# DELETE FROM mysql.user WHERE Host='%' AND User='root';

# FLUSH PRIVILEGES;



CREATE USER 'root'@'192.168.11.%' IDENTIFIED BY "password";

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.11.%' WITH GRANT OPTION;

FLUSH PRIVILEGES;


4) 방화벽 풀기

firewall-cmd --permanent --zone=trusted --add-source=192.168.11.1/24

firewall-cmd --permanent --zone=trusted --add-port=3306/tcp

firewall-cmd  --reload

반응형

'Database 관리 > Maria DB' 카테고리의 다른 글

UDF 만들기  (0) 2021.05.06
Ubuntu 20.04.02, MariaDB 10.5 설치, UDF 설치, System Call Udf  (0) 2021.02.16
maria10.zip.windows10 64bit.설치  (0) 2020.04.23
MySQL.무인스톨설치  (0) 2020.04.23
JSON 처리  (0) 2019.12.03