레이블이 mariadb인 게시물을 표시합니다. 모든 게시물 표시
레이블이 mariadb인 게시물을 표시합니다. 모든 게시물 표시

2021-03-12

Mysql/MariaDB 대용량 데이터 import 하기

1. command 명령 프롬프트에서 mysql/mariadb 로그인

D:\eGov_3.6_DEV\bin\mariadb-10.2.6-winx64>bin\mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 23
Server version: 10.2.6-MariaDB-log mariadb.org binary distribution

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

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

MariaDB [(none)]> help load
Many help items for your request exist.
To make a more specific request, please type 'help <item>',
where <item> is one of the following
topics:
   LOAD DATA
   LOAD INDEX


2. import 하고자 하는 DB로 변경

MariaDB [(none)]> use skb_mss;  <== 해당 db로 이동
Database changed

3. *.csv/*.log 파일의 내용을 읽어서 로딩
// 파일에서 데이터 읽어서 로딩하기.
// 아래 문장의 내용
// input 파일명 : d:\aapl2.csv  입력 테이블명 : aapl
// 컬럼 구분은 ','
// 줄 끝은 '\n'
// 첫줄은 header 이므로 무시
MariaDB [skb_mss]> load data local infile 'd:\\aapl2.csv' into table aapl columns terminated by ',' lines terminated by '\n' ignore 1 lines;
Query OK, 1243 rows affected, 2471 warnings (0.04 sec)
Records: 1243  Deleted: 0  Skipped: 0  Warnings: 2471

mysql startup, stop 파일 생성


startup_mysqld.bat 내용
.\bin\mysqld --character-set-server=utf8 --explicit-defaults-for-timestamp &


stop_mysqld.bat 내용
.\bin\mysqladmin -u root -p shutdown

2018-07-03

MySQL/MariaDB/SQL] MariaDB 10.2.16 zip 으로 설치 및 설정하기(서비스 등록 제외)

mariadb 설치 및 설정 하기.

1. https://downloads.mariadb.org/mariadb/+releases/ 에서 mariadb 10.2.16 다운로드 (x64버전, zip 파일)
2. D:\DB\mariadb-10.2.16-winx64 로 압축 파일 해제
3. 도스 명령창 실행
4. D:\DB\mariadb-10.2.16-winx64\bin 디렉토리로 이동
5. mysqld 실행
5.1 localhost 에서 접속 가능하게 설정 작업 및 비번 설정 작업
### mysql에 root 사용자로 접속
### 최초 실행이라 비번이 설정되어 있지 않음
D:\DB\mariadb-10.2.16-winx64\bin> mysql -u root

### mysql db 사용
MariaDB [(none)]> use mysql
Database changed
MariaDB [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)


### mysql db 의 user 테이블에 등록된 host, user 정보 확인
MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost |      |
| localhost | root |
+-----------+------+
4 rows in set (0.00 sec)


### root 사용자에게 모든 ip 로 부터 접속할 권한 부여 및 접속 비번 설정
MariaDB [mysql]> grant all privileges on mysql.* to 'root'@'%' identified by '사용할비밀번호';
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | root |
| 127.0.0.1 | root |
| ::1       | root |
| localhost |      |
| localhost | root |
+-----------+------+
5 rows in set (0.00 sec)


### user 테이블에 등록된 사용자 정보 확인 : root 사용자의 비번이 설정되어 있지 않음
MariaDB [mysql]> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root |                                           |
| 127.0.0.1 | root |                                           |
| ::1       | root |                                           |
| localhost |      |                                           |
| %         | root | 인코딩된 비밀번호                         |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)

### user 테이블의 초기 등록된 사용자에 대한 비번 설정
MariaDB [mysql]> update user set password = PASSWORD('사용할비밀번호');
Query OK, 4 rows affected (0.02 sec)
Rows matched: 5  Changed: 4  Warnings: 0


### user 테이블의 초기 등록된 사용자에 정보 확인
MariaDB [mysql]> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | 인코딩된 비밀번호                         |
| 127.0.0.1 | root | 인코딩된 비밀번호                         |
| ::1       | root | 인코딩된 비밀번호                         |
| localhost |      | 인코딩된 비밀번호                         |
| %         | root | 인코딩된 비밀번호                         |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)

### 권한 적용.
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)


### mysql 빠져 나가기
MariaDB [mysql]> \q
Bye

### mysql 접속확인 : 비번 적용된 버전으로...
D:\DB\mariadb-10.2.16-winx64\bin>mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.2.16-MariaDB mariadb.org binary distribution

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)]> \q
Bye

6. mysql 수동으로 실행 스크립트 생성
D:\DB\mariadb-10.2.16-winx64\ 경로에 mysqld_start.bat 파일 생성 후 아래의 명령어를 적용 후 저장 한다.

#----------------
bin\mysqld --defaults-file=my.ini --console --explicit_defaults_for_timestamp &
#----------------

7. my.ini 파일 생성
### D:\DB\mariadb-10.2.16-winx64\my-large.ini 파일을 my.ini 로 복사
D:\DB\mariadb-10.2.16-winx64> copy my-large.ini my.ini


8. my.ini 파일 내용 수정 
########
아래의 내용을 각 항목별로 추가한다. (character-set을 utf8로 설정 작업)
[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8

[mysql]
default-character-set=utf8

9. 6에서 생성한 .bat 파일을 실행시켜 mysql DB server 를 실행시킨다.

10. character-set 적용과 data db 저장 디렉토리 확인

### mysql 접속
D:\DB\mariadb-10.2.16-winx64\bin>mysql -u root -p
Enter password: **********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.2.16-MariaDB-log mariadb.org binary distribution

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

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

### mysql character-set 정보 확인
MariaDB [(none)]> show variables like 'c%';
+--------------------------+----------------------------------------------+
| Variable_name            | Value                                        |
+--------------------------+----------------------------------------------+
| character_set_client     | utf8                                         |
| character_set_connection | utf8                                         |
| character_set_database   | utf8                                         |
| character_set_filesystem | binary                                       |
| character_set_results    | utf8                                         |
| character_set_server     | utf8                                         |
| character_set_system     | utf8                                         |
| character_sets_dir       | D:\DB\mariadb-10.2.16-winx64\share\charsets\ |
| check_constraint_checks  | ON                                           |
| collation_connection     | utf8_general_ci                              |
| collation_database       | utf8_general_ci                              |
| collation_server         | utf8_general_ci                              |
| completion_type          | NO_CHAIN                                     |
| concurrent_insert        | AUTO                                         |
| connect_timeout          | 10                                           |
+--------------------------+----------------------------------------------+
15 rows in set (0.00 sec)

### mysql data 관련 정보 확인
MariaDB [(none)]> show variables like 'd%';
+-----------------------------+------------------------------------+
| Variable_name               | Value                              |
+-----------------------------+------------------------------------+
| datadir                     | D:\DB\mariadb-10.2.16-winx64\data\ |
| date_format                 | %Y-%m-%d                           |
| datetime_format             | %Y-%m-%d %H:%i:%s                  |
| deadlock_search_depth_long  | 15                                 |
| deadlock_search_depth_short | 4                                  |
| deadlock_timeout_long       | 50000000                           |
| deadlock_timeout_short      | 10000                              |
| debug_no_thread_alarm       | OFF                                |
| default_master_connection   |                                    |
| default_regex_flags         |                                    |
| default_storage_engine      | InnoDB                             |
| default_tmp_storage_engine  |                                    |
| default_week_format         | 0                                  |
| delay_key_write             | ON                                 |
| delayed_insert_limit        | 100                                |
| delayed_insert_timeout      | 300                                |
| delayed_queue_size          | 1000                               |
| div_precision_increment     | 4                                  |
+-----------------------------+------------------------------------+
18 rows in set (0.00 sec)


11. mysql client 툴 다운로드 (HeidiSQL)
mysql client 툴인 HeidiSQL 을 아래 경로에서 다운로드 한다. (x64버전, portable 버전)

https://www.heidisql.com/download.php?download=portable-64

12. 다운로드 받은 HeidiSQL 을 압축 해제 및 실행
    압축 해제된 경로에서 heidisql.exe 파일을 실행 후 접속 정보 입력 후, 사용하면 된다.

2013-12-18

Mysql/Mariadb] MariaDB 5.5.34 zip 파일 설치하기.

mysql 과 쌍둥이 Database 인 MariaDB 설치하기.

1. mariadb download
   https://downloads.mariadb.org 에 접속해서 해당하는 버전을 다운로드(zip 파일)
   ** 현재 안정화 버전은 5.5.34(mysql 5.5에 대응) , 베타버전은 10.6 beta(mysql 5.6에 대응)를 테스트 중.
       
2. download 된 zip 파일을 압축해제 한다.

3. 압축이 풀린 디렉토리를 설치하고자 하는 곳으로 옮긴다.
    ex) c:\maraidb-5.5.34

4. my-innodb-heavy-4G.ini 을 my.ini로 복사

5. my.ini 파일 편집

[client]

default-character-set = utf8

[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci



# innodb

innodb_data_home_dir = "c:/maraidb-5.5.34/data/"


[mysqldump]
default-character-set = utf8




[mysql]
default-character-set = utf8

5. mysql 실행
c:/maraidb-5.5.34/bin/mysqld


**  mysql을 윈도우 서비스로 등록

mysqld --install 서비스명.


6. mysql 에 root user로 접속
c:/maraidb-5.5.34/bin>mysql -u root -p
Enter password:   <== 엔터키 입력하고 넘어간다

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

MariaDB [(none)]> use mysql <== db 변경
Database changed

7. mysql DB의 user 테이블의 내용 확인
MariaDB [mysql]> desc user; <== user 테이블의 구조 확인

8. root user의 비밀번호 변경 및 적용
MariaDB [mysql]> update user set password=password('변경할비밀번호') where user='root';  <== 비번 변경
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

MariaDB [mysql]> flush privileges; <== 적용
Query OK, 0 rows affected (0.00 sec)