반응형

안녕하세요 가야태자 @talkit 입니다. 

마이에스큐엘/MySQL 데이터베이스 백업하기 / How to backup database for MySQL :: 가야태자의 IT이야기 (tistory.com)

오늘은 위 글에 이어서 복원하기에 대해서 말씀 드리겠습니다. 

데이터베이스를 백업하는 목적은 사고가 났을때나 서버가 고장 났을때 또는 이전 시에 복원하기 위해서 입니다. 

준비물

mysql
백업해둔 sql 파일

복원을 위해서는 위 두가지가 필요 합니다. 

서버 접속

MySQL 서버가 있는 곳에 SSH로 접속을 해야 합니다. 

방화벽 등으로 원격지에서 백업이 가능하도록 해두었으면 윈도우즈용 이나 로컬 리눅스 또는 맥에 해당 프로그램이 있어도 됩니다. 

지금 진행 하고 있는 것은 간단하게 백업하고 복원하는 과정을 설명 드리고 있어서 방화벽과 MySQL 원격 접속에 대해서 조만간 글을 적어 보겠습니다. 

https://talkit.tistory.com/688

 

리눅스/Linux PuTTY로 SSH를 통해서 VMWARE Linux에 접속해보자. How to connect to Linux on VMWARE via SSH with PuTTY

안녕하세요 가야태자 @talkit 입니다. 오늘은 VMWARE에 Ubuntu를 설치 했습니다. VMWARE 켜서 계속 콘솔로만 접속을 할것인가? 이런 의문이 들었습니다. ^^ 그래서 SSH를 통해서 어떻게 접속하게 할지 알

talkit.tistory.com

위 글을 참고 하시면 서버에 접속하는 방법이 있습니다. 

준비물 확인

서버에 접속 하셨으면, 

mysql
ls

위도 명령어를 통해서 해당 준비 물이 있는지 확인 합니다. 

저같은 경우는 파일이 존재하는 것을 확인 했습니다. 

talkit@ubuntu:~$ mysql
ERROR 1045 (28000): Access denied for user 'talkit'@'localhost' (using password: NO)

mysql 명령어도 당연히 있겠지요 

어제와 같은 서버 입니다. ^^

복원하고자 하는 데이터베이스를 생성 합니다. 

mysql -u root -p -e "create database mattermost2"

생성된 데이터베이스를 확인 합니다. 

mysql -u root -p -e "show databases"
talkit@ubuntu:~$ mysql -u root -p -e "show databases"
Enter password:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mattermost         |
| mattermost2        |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

mattermost2가 생성되어 있습니다. 

저기다가 복원을 해보도록 하겠습니다. 

mysql -u root -p mattermost2 < mattermost.db.sql

복원 명령어는 위와 같습니다. 

덤프 된 sql 파일을 mattermost2 데이터베이스 상에서 실행 하는 겁니다. 

mysql -u 사용자 -p 복원할데이터베이스명 < 복원할SQL파일명.sql

저는 같이 서버에서 작업을 해서 매우 주의 해야 합니다. ^^

mattermost2 DB에 확실히 했는지 보겠습니다. 

확인 되었구요.

실행해 보겠습니다. 

백업 보다는 시간이 좀 더 걸리고 복원이 종료 되었습니다. 

talkit@ubuntu:~$ mysql -u root -p mattermost2 < mattermost.db.sql
Enter password:
talkit@ubuntu:~$

오류가 있을 경우 표준 출력으로 오류를 뱉습니다. ^^

오류를 확인하고 다시 작업하시면 됩니다. 

감사합니다. 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

오늘은 MySQL의 데이터를 어떻게 백업을 할지 고민해 보겠습니다. 

저희가 유지 보수를 하는 다양한 사이트에서 백업을 어떻게 하는지 보겠습니다. 

준비물

mysql cli 도구들

접속하기

서버에서 직접 백업할 경우는 서버에 ssh로 접속을 해야 합니다. 

리눅스/Linux PuTTY로 SSH를 통해서 VMWARE Linux에 접속해보자. How to connect to Linux on VMWARE via SSH with PuTTY :: 가야태자의 IT이야기 (tistory.com)

 

리눅스/Linux PuTTY로 SSH를 통해서 VMWARE Linux에 접속해보자. How to connect to Linux on VMWARE via SSH with PuTTY

안녕하세요 가야태자 @talkit 입니다. 오늘은 VMWARE에 Ubuntu를 설치 했습니다. VMWARE 켜서 계속 콘솔로만 접속을 할것인가? 이런 의문이 들었습니다. ^^ 그래서 SSH를 통해서 어떻게 접속하게 할지 알

talkit.tistory.com

위 글이 도움이 될 것 같습니다. 

준비물이 있는지 확인 하기

mysqldump
mysql

위 두 프로그램이 설치 되어 있는지 확인 하기 위해서 위 명령어를 내려 봅니다. 

저는  putty로 이전에 mattermost를 설치 해둔 서버에 접속을 했습니다. 

talkit@ubuntu:~$ mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
talkit@ubuntu:~$ mysql
ERROR 1045 (28000): Access denied for user 'talkit'@'localhost' (using password: NO)

Command not found로 나오지 않고 옵션을 보여 주거나 오류를 보여 주면 ^^

제대로 설치가 되어 있는 것입니다. 

mysql 은 데이터베이스를 확인하기 위해서 사용합니다. 

mysql -u root -p -e "show databases;"
mysql -u root -p -e "show databases;"
Enter password:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mattermost         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

비밀번호를 묻는데 ^^ 비밀번호를 몇번 틀리긴 했지만, 잘 보입니다. 

이제 백업을 해보겠습니다. 

저기서 mattermost라는 데이터베이스를 백업할 계획입니다. 

백업하기

mysqldump -u 사용자 -p --quick 데이터베이스명 > 백업파일명
mysqldump -u root -p --quick mattermost > mattermost.db.sql

저는 아래 명령어를 입력해서 백업을 진행 하겠습니다. 

-- MySQL dump 10.13  Distrib 8.0.32, for Linux (x86_64)
--
-- Host: localhost    Database: mattermost
-- ------------------------------------------------------
-- Server version       8.0.32-0ubuntu0.20.04.2

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `Audits`
--

DROP TABLE IF EXISTS `Audits`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `Audits` (
  `Id` varchar(26) NOT NULL,
  `CreateAt` bigint DEFAULT NULL,
  `UserId` varchar(26) DEFAULT NULL,
  `Action` text,
  `ExtraInfo` text,
  `IpAddress` varchar(64) DEFAULT NULL,
  `SessionId` varchar(26) DEFAULT NULL,
  PRIMARY KEY (`Id`),
  KEY `idx_audits_user_id` (`UserId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

백업 된 자료의 일부를 보여 드리면 위와 같이 백업 됩니다. ^^

감사합니다. 

다음 글에서는 백업후에 복원하는 방법을 알려 드리겠습니다.

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다.

JDBC 드라이버 다운로드

순수 자바

MySQL :: Download Connector/J

위 URL로 이동 합니다.

Platform independent 를 선택 합니다.

그리고 지금 저는 윈도우즈에서 작업 중이라 두번째 Download를 클릭 합니다. zip파일 형식을 내려 받습니다.

젤 밑에 보이시나요 No thanks, just start my download. 를 클릭 하십시오.

그러면 잘 다운로드가 될겁니다.

다운로드 받은 JDBC 드라이버 이클립스에 설정

우선 열어서 압축을 푸십시오.

압축 해제한 폴더로 이동해서,

mysql-connector-j-8.0.31.jar

위 파일을 복사합니다.

이클립스에 lib 폴더를 만들고 붙여넣기를 하십시오.

프로젝트명을 클릭하고 오른쪽을 눌러서 프로퍼티를 선택 하십시오.

그리고, Java 빌드 패스를 선택하십시오.

Libraries 탭으로 이동합니다.

오른쪽 Add JARs 를 클릭하십시오.

지금 현재 pom 파일이 있는 Maven 프로젝트기는 하지만, 이번에는 이런 방법도 있다고 알고 넘어 가는 차원에서 이렇게 하고 있습니다.

Maven을 이용한 MySQL 드라이버 다운로드

다른글을 적고 링크 하겠습니다. 

Java MySQL 접속하기

JAVA 는 JDBC라는 프레임워크를 통해서 데이터베이스에 접속합니다.
데이터베이스 드라이버와 서버 소프트 웨어 개발 버전이 있으면 얼마든지 집에서 해볼 수 있습니다.

JDBC Connection


Class.forName("com.mysql.jdbc.Driver");

MySQL 드라이버 로드

Connection con = DriverManager.getConnection("jdbc:mysql://주소:3306/데이터베이스", "아이디", "비밀번호");

MySQL 접속정보 셋팅

쿼리 해보기

쿼리 해보기는 쿼리 관련 설명하는 파일을 따로 적고 여기에 링크 예정입니다. ^^

전체소스코드

package com.tistory.talkit;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class MySQLExam {

    public static void main(String args[]) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://주소:3306/데이터베이스", "아이디", "비밀번호");
            
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("원하는 쿼리");
            while (rs.next())
                System.out.println(rs.getInt(1) + "  " + rs.getString(2) + "  " + rs.getString(3));
            con.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }

}

#java #mysql #source

반응형
반응형

안녕하세요 가야태자 @talkit 입니다. 

오늘 제가 앞으로 설치하려는 프로그램 때문에 데이터베이스가 필요해서 우분투 리눅스에 데이터베이스를 설치해보겠습니다. 

우선 당연히 우분투 리눅스에 접속 합니다. ^^

잘 접속 하셨다고 생각하고 깔아 보도록 하겠습니다. ^^

sudo apt update

우선 최신 업데이트가 있는지 확인 합니다. 

보통은 비밀번호를 한번 넣어 줘야 하지만 ^^

저희는 비밀번호를 넣지 않아도 되네요 ^^

sudo apt install mysql-server

업데이트가 끝나면 위 명령어를 입력하시면 됩니다. 

sudo apt install mysql-server
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libcgi-fast-perl libcgi-pm-perl libclone-perl libencode-locale-perl libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8
  mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common mysql-server-8.0 mysql-server-core-8.0
Suggested packages:
  libdata-dump-perl libipc-sharedcache-perl libbusiness-isbn-perl libwww-perl mailx tinyca
The following NEW packages will be installed:
  libcgi-fast-perl libcgi-pm-perl libclone-perl libencode-locale-perl libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8
  mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common mysql-server mysql-server-8.0 mysql-server-core-8.0
0 upgraded, 28 newly installed, 0 to remove and 20 not upgraded.
Need to get 29.4 MB of archives.
After this operation, 242 MB of additional disk space will be used.
Do you want to continue? [Y/n]

그러면 계속 할꺼냐고 묻는데 ^^ 다연히 Y를 입력 합니다. 

정말 간단하네요 ^^

쭉 설치가 이루어지고, 중간에 커널관련된 메시지가 떴는데 캡쳐를 못해서 ^^ OK 두번 눌러 주시면 됩니다. 

mysql client 까지 잘 설치 되었습니다. 

sudo mysql_secure_installation

보안 설정과 root 비밀번호 설정을 위해서 위 프로그램을 실행해 줍니다. 

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

보안 때문에 비밀번호를 넣는게 좋다 넣겠느냐? 당연히 Y를 누르셔야 합니다. ^^

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

정책적으로 쉬운 비밀번호를 쓸꺼냐 어려운 비밀번호를 쓸꺼냐? 물으면 일단 어려운 비밀번호를 선택해야겠지요 ^^ 하지만, 비밀번호 만들기 규칙이 좀 쉬워야 하니까 다른 방법으로 보안을 신경 써줘야 해서 여기서는 MEDIUM 중간정도를 선택 하겠습니다. ^^

그래서 여기는 1을 넣습니다. 

Please set the password for root here.

New password:

요렇게 나오면 비밀번호를 대소문자를 넣으시고, 특수문자를 썩어서 8자리 이상의 비밀번호를 만드시면 됩니다. 

저는 매일 사용하는 비밀번호가 있어서 넣었습니다. 

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

그랬더니 니가 제공한 비밀번호는 50점 정도 되는데 그래도 쓸래 라고 합니다. 저는 Y를 눌러야지요 ^^

 ... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

New password:

저 처럼 위와 같이 오류가 나면 해당 쉘을 종료 하십시오 ^^

그리고 다른 방법으로 비밀번호를 변경 합니다. ^^

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '원하는비밀번호';

여기서 원하는 비밀번호는 아까 만든신 비밀번호 규칙을 잘 따르셔야 합니다. ^^

sudo mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.31-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

자 이제 제가 원하는 대로 mysql 에 접속이 되네요 간단하게 한번 몇개 명령어만 더 내리고 오늘은 여기까지 글을 마무리 하겠습니다. ^^

show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

show databases; 명령어는 mysql에서 사용할 수 있는 데이터베이스 명을 출력해 줍니다. 

 use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

use 명령어는 사용하고자 하는 데이터베이스를  선택해 줍니다. 

 show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
37 rows in set (0.00 sec)

show tables 명령어는 데이터베이스 내에 있는 테이블들을 나열해 줍니다. 

정말 잘 설치 되었습니다. 

Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :    964.1 total,     74.0 free,    571.1 used,    319.1 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    231.9 avail Mem

아직 데이터를 넣지 않아서 그렇지만, ^^

CPU는 훌륭하네요 ^^ 1VPU이긴 하지만, 충분히 MySQL이 저혼자 쓸때는 잘 돌아 갑니다. ^^

그리고 메모리는 흑흑흑 실제로 운영을 해봐야겠지만 조금 모자랄 수도 있을 것 같습니다. ^^

감사합니다. 

반응형
반응형

안녕하세요 가야태자(@talkit) 입니다.

지난주 강좌 소개글은 https://steemit.com/hive-101145/@talkit/2020-05-21-mariadb-database-001 에서 확인하실 수 있습니다.

설치가 되진 않았지만, 설치 준비글에 해당하는 글은 https://steemit.com/hive-101145/@talkit/2020-05-27-mariadb-database-002-1 이글에서 확인할 수 있습니다.

오늘 설치하려는 프로그램은 어제는 서버이고, 오늘은 클라이언트에 해당 합니다.

서버 설치는 주말에 컴을 한번 껏다켜고 진행하도록하고, 클라이언트 부터 시작하겠습니다. 저는, 서버 설치 해둔 것이 있습니다. ^^

원래 MariaDB나 MySQL은 mysql.exe 또는 mysql 이라는 강력한 텍스트 기반의 클라이언트를 제공 합니다.

하지만, SQL이라는 것에 익숙하지 않으면, 또는 저같이 익숙한 사용자도 사용하기가 힘듭니다. ^^

하지만, 저 클라이언트가 공식 클라이언트라서 가장 강력한 것은 사실 입니다.

오늘 제가 소개하고자하는 툴은 DBeaver 라는 툴로, OpenSource 이고, 기업이든, 개인이든 상관 없이 무로ㅛ 입니다. 하지만 NoSQLDB를 사용하고 싶다면 Enterprise 버전을별도로 판매하고 있습니다.

우리가 사용하고자하는 MariaDB, MySQL 일반인들도 만이 들어 보신 Oracle, MS-SQL 등은 RDBMS(관계형데이터베이스관리시스템)으로 커뮤니티 버전으로 충분히 사용가능 합니다.

https://dbeaver.io/

위 주소에 접속하시면, Download 버튼을 클릭하시고,

저기 커뮤니티 버전 중에 Windows 64bit (Installer) 를 다운 받아서 설치 하겠습니다.

저는 이미 설치 되어 있어서 업그레이드 될 것으로 생각 됩니다.

^^

개발툴인 eclipse의 플러그인을 설치하셔도 되지만, 독립적인 버전을 선호 합니다. ^^

예전에는 다운로드가 빨랐는데 오늘은 다운로드가 무자게 늦네요 T.T

저는 일단 다운이 잘 안받아져서 서버를 통해서 다시 다운 받고 있습니다. 이게 더 빠르네요 헉

일단 다운 받으셨으면 실행 하십시오.

실행하실때 오른쪽 마우스 누르셔서 관리자로 실행을 하시고, UAC 동의를 하시는 것이 좋을 것 같습니다.

저는 UAC 동의를 중간에 하니까, 다시 설치 과정이 반복되네요 T.T

저처럼 하지 마시라고 다시 알려 드립니다. ^^

오 왠일로 이소프트웨어는 한국어가 포함되어 있습니다. ^^

하지만, 영어로 설치하시는 것은 권해 드립니다.

앞으로 강의 할때 제 메뉴가 아마 영어 일꺼라서 그렇습니다.

Next

I accept

Next

Next

이때 SQL 파일들은 체크하셔도 좋고, 안하셔도 좋습니다.

Next

Install

설치를 진행 합니다.

Create Desktop Shortcut를 체크는 원하시는대로 하시고, Finish를 클릭하시면 끝입니다.

바탕화면의 숏컷을 누르시거나, 시작 메뉴의 DBeaver 메뉴를 선택하시면 실행이 가능 합니다.

이렇게 실행 됩니다.

일단 정상적으로 실행 되면 이런 모습니다.

오늘은 여기까지 하고, 다음에는 저 클라이언트를 이용해서 여러가지 일들을 해보도로 하겠습니다.

감사합니다.

내일도 즐거운 하루 되십시오.

반응형
반응형

안녕하세요 가야태자(@talkit) 입니다.

지난주 강좌 소개글은 https://steemit.com/hive-101145/@talkit/2020-05-21-mariadb-database-001 에서 확인하실 수 있습니다.

MariaDB는 윈도우즈, 리눅스 매킨토시 등 다양한 OS에 설치가 가능 합니다.

오늘은 윈도우즈에서 설치하는 법을 알아보겠습니다.

https://mariadb.org/download/

위 주소에 가셔서 다운로드 하시면 됩니다.

Download MariaDB Server 링크를 클릭하시고

저위에 세가지 버전 외에도 다양한 버전이 존재 합니다.

저는 최신 버전을 설치하시라고 권해 드립니다.

하지만, RC 보다는 Stable 버전을 설치하시는 것을 권합니다.

그래서 10.4의 다운로드 버튼을 클릭 합니다.

클릭하시면 저것보다는 많은 것이 나옵니다.

저는 오른쪽에 Windows를 클릭 했습니다.

그중에서 mariadb-10.4.13-winx64.msi 을 다운로드 받으십시오.

혹시 윈도우즈가 32비트시면 32비트를 다운 받으셔야 합니다.

클릭하면 다운로드를 시작 합니다.

브라우져 하단에서 실행하시던지, 다운로드 폴더에서 실행하시면 됩니다.

실행하시면 저렇게 나옵니다.

Next

I accept ~ 에 체크하고 Next ^^

여기서도 Next를 누르십시오.

root 패스워드를 넣어 주시면 됩니다.

개인 컴퓨터에 까시는 것이면 쉽게 입력하셔도 되고 보안 생각하시면 어렵게 넣으시면 됩니다.

그리고 밑에 Use UTF8 as default server's character set 은 체크를 하시는 것이 좋습니다.

요즘 대부분 UTF8을 사용하시니까요.

Enable remote는 체크하시면 안됩니다.

보안 관계상 root는 로컬PC에서만, 나중에 Remote가 가능한 계정은 따로 생성하시면 됩니다.

저는 install as server의 체크를 지울 것입니다.

하지만, 컴퓨터에 계속 켜도도 상관 없다고 생각하시는 분은 그대로 두셔도 됩니다.

실제로 서버로 운영하실 분은 체크 하셔야 합니다.

여기서도 그냥 Next 입니다.

Install 눌러 주시면 됩니다.

그러면, 설치를 시작 합니다.

지금 제 컴에서 뭔가를 작업중인데 이게 reboot 되면 안되는데 T.T

나중에 reboot 하면 된다는 소리겠죠 T.T

혹시 저 메시지가 나오면 OK 누르시고 추후에 컴퓨터 한번 껏다 켜셔야 될 것 같습니다.

음 서버 설치가 실패 했습니다.

오늘 제가 노트북에 서버 작업을 하고 있어서 리붓을 하면 안되가지고, 내일 다시 시도 하고 글을 적도록 하겠습니다.

(1)은 혹시나 해서 적었는데 ㅋㅋㅋ 제목대로 되어 버렸습니다.

내일도 즐거운 하루 되십시오.

오늘내용에서는 Download 밖에 못했네요 T.T

감사합니다.

반응형
반응형

안녕하세요 가야태자(@talkit) 입니다. 옛날 부터 쓰고 싶은 글이었는데 한번 적으보려고 합니다.

원래는 MySQL이라는 DB 엔진을 사용했었습니다.

하지만, MySQL이라는 DB가 Oracle이라는 회사에 인수 되었습니다.

그래서 MySQL 커뮤니티 버젼도 사용하지만, MariaDB를 사용하고 있습니다.

재밌는 것은 MySQL이나 MariaDB가 쌍둥이여서 명령어도 동일하다는 겁니다.

심지어 클라이언트도 호환이 가능합니다.

Java라는 프로그램의 DB 드라이브도 호환이 가능 합니다.

오늘은 목차 성격으로 글을 적도로 하겠습니다.

  1. MariaDB Server 설치
    -> 워낙 글을 써놓은 분들이 많으셔서 저는 실습 형태로 그냥 진행하겠습니다.

  2. MariaDB Client 설치
    -> mysql.exe라는 도스 형태의 클라이언트를 사용해도 되지만, DBeaver 라는 클라이언트를 소개 합니다.

  3. MariaDB 계정 설정
    -> root 계정을 그대로 사용해도 되지만, 자신만의 계정을 만들고, Database를 만들어서 사용하는 것이 보안상 좋아서 해당 내용에 대한 설명을 진행 합니다.

  4. SQL 설명
    SELECT, INSERT, UPDATE DELETE 문에 대해서 간략히 소개 합니다.

  5. SQL 실전
    가계부 테이블을 하나 만들고 가계부를 SQL로 같이 만들어 보도록 하겠습니다.

  6. SQL 튜닝
    데이터베이스는 데이터가 늘어나면 느려 집니다. 느려지지 않도록 설계하고, 만들어야겠지만, 설계를 제대로 해도 느려지는 경우가 있어서 SQL을 이용해서 튜닝을 진행 합니다.

요정도의 문서를 만들어 볼생각입니다. 1~2주에 한편정도 출판을 해볼 계획입니다.

감사합니다.

내일도 즐거운 하루 되십시오.

반응형
반응형


지금 몇가지 앱을 개인적으로 사용하려고 개발 해보고 있습니다. 


그 앱들이 백글운드로 돌아가는 놈들이라 아직 프론트 즉, 사용자 쪽을 구현하지 않았습니다. 


그런데 최근 데이타를 보고 싶었습니다. ^^;;


PC에서는 앞서 소개한 DBeaver를 사용하면 되지만 , 맨날 밖에서 노트북을 켤 수도 없고, 


상상을 좀 해봤습니다. ㅋㅋㅋ


그래서 Android에도 MySQL 클라이언트가 있지 않을까 ㅋㅋㅋ


그래서 Google Play에다가 쳤습니다. 


MySQL Client


했더니 지금 소개하고 있는 앱이 나왔습니다. 


단 보안에 취약할 수 있습니다. ^^;


하지만, 뭐 개인적으로 쓰는거라.


저는 괜찮았습니다. 


그리고, 멀티태스킹에 취약 합니다. 


즉, 사용하고 정상적으로 종료하고 키면 괜찮은데, 


멀티태스킹에서 다시 선택해가지고 하면, 죽거나 화면이 좀 이상해 집니다. 


하지만, 무료라서 좋습니다. 


MySQL 접속


MSSQL 접속


PostGreSQL 접속 가능 합니다. 


다른 클라이언트들은 다른 기능도 있지만, 


제가 사용하는 애는 위의 DB들에 잘 붙습니다. 


감사합니다. 


좋은 하루 되십시오.


아참 다운로드는 Google Play에서 MySQL Client 치시거나 


https://play.google.com/store/apps/details?id=de.mxapplications.sqlclient 


링크 클릭 하시면 됩니다. 



반응형
반응형




이번에는 CUBRID를 사용하는 프로젝트에서 NULL 처리할  일이 있어서 적어 둡니다.


CUBRID 의 경우 


IFNULL 을 사용할 수 있습니다.


IFNULL(필드명 또는 값, NUL일때원하는표현)


IFNULL(sample, 0)


sample 이라는 필드가 NULL이면 0으로 표현 입니다.


그리고 또한가지 


COALESCE(필드명 또는 값, NULL일때원하는표현)


COALESCE(sample,0)


IFNULL과 동일한 기능입니다.


그리고 CUBRID 외에 다른 데이터 베이스들은 


MySQL 

ifnull(필드,처리할 값)


Oralce
NVL(필드,처리할 값)


MSSQL

ISNULL(필드,처리할 값)

MySQL과 Oracle MSSQL에서 각각 NULL처리를 담당하는 함수들입니다.

전 주로 오라클을 써서 NVL로 알았는데요

다 다르네용 T.T


반응형

+ Recent posts