💾Data/🧩Database

    [MySQL] show_compatibility_56 발생 이유와 해결 방법

    [MySQL] show_compatibility_56 발생 이유와 해결 방법

    MySQL Dump 중 아래와 같은 메세지를 확인 했다. 확인 시 MySQL 5.6이 설치된 서버에서 MySQL 5.7이 설치된 서버로 INFORMATION_SCHEMA.GLOBAL_STATUS를 사용하는 쿼리를 날려서 발생한것이였다. 아래와 같은 에러가 발생하면서 쿼리가 실행되지 않았다. show_compatibility_56 서버가 시스템 및 상태 변수 정보를 사용하는 방법을 제어하는 시스템 변수 MySQL 5.7에서 추가되었다. show_compatibility_56 값이 OFF인 경우, MySQL 5.6과의 호환성이 비활성화되면서 SELECT FROM INFORMATION_SCHEMA 시 에러가 발생할 수 있다. 이 문제를 해결하는 가장 간단한 방법은 show_compatibility_56 값을 ..

    MySQL Insert시 암호화 복호화

    # testDB생성 mysql> create database test; Query OK, 1 row affected (0.01 sec) mysql> mysql> use test; Database changed # test table생성 mysql> create table test -> ( -> user varchar(100), -> password varchar(100)); Query OK, 0 rows affected (0.03 sec) # test table 컬럼 확인 mysql> desc test; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----..

    PostgreSQL 외부접속 설정

    PostgreSQL 외부접속 설정

    OS : CentOS7.9 DB : PostgreSQL9.6 [root@localhost ~]# su - postgres -bash-4.2$ psql psql (9.6.20) Type "help" for help. # doit계정 생성 postgres=# create user doit superuser; CREATE ROLE # doit계정 Password 설정 postgres=# alter user doit with password '123123'; ALTER ROLE # doitDB생성 및 doit계정에게 권한 부여 postgres=# create database doitDB with owner doit encoding 'UTF8'; CREATE DATABASE # 생성된 DB확인 (doitDB) p..

    PostgreSQL9.x Install

    PostgreSQL9.x Install

    OS : CentOS7.9 DB : PostgreSQL9.6 소개 PostgreSQL은 현재 높은 인기를 자랑하는 오픈소스 RDMBS이다. 오랜 역사와 많은 레퍼런스를 가지기 때문에 안정성에서도 많은 신뢰를 얻고있다. 국내에서는 MySQL을 많이 사용하지만 기업에서 배포하는 방식으로 사용 시 라이선스 문제가 있음. Postgresql의 경우 BSD와 MIT와 비슷한 Liberal Open Source License를 따름 설치 # yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # yum -y install postgresql96 post..

    MariaDB 10.5 설치

    MariaDB 10.5 설치

    ※ MariaDB repo 등록 vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 # MariaDB 설치 yum -y install MariaDB ※ MariaDB 설치 및 설치버전 확인 ※ MariaDB 시작 ※ MariaDB Password 설정 MariaDB 10.4 version 이후 시스템 root와 MariaDB root와 권한이 동일하게 적용되어 패스워드를 요구하지 않음, user 테이블 또한 실제테이블로 존재하지 않음 위와 같이 변경점 ..

    MySQL socket Error

    브라우저에서 MySQL 소켓파일을 못찾아서 사이트가 접속이 안될때가있다. socket 파일 위치 확인은 netstat -an | grep mysqld 혹은 ps -ef | grep mysqld 를 하면 알수있다. 첫번째 방법 PHP-MySQL 사용시 php.ini 에서 다음과 같이 mysql socket 위치를 적어 놓는것이다. 물론 이렇게 할시 웹서버 재시작을 해야합니다. [MySQL] mysql.default_socket = "/tmp/mysqld.sock" mysqli.default_socket = "/tmp/mysqld.sock" 두번째 방법은 소스파일에서 수정하는 방법입니다. mysql_connect('localhost:/tmp/mysql.sock', 'username', 'password');..

    Oracle 필수 프로세스

    Oracle 10g 강좌에서 좀 더 자세한 내용을 확인 할 수 있습니다. Background Process Database Writer Process (DBWn) Database Buffer Cache의 내용을 데이터 파일에 저장하는 작업을 수행. Database Buffer Cache 내의 Buffer가 변.. www.gurubee.net 출처 : http://www.gurubee.net/lecture/1080 오라클 백그라운드 프로세스 Oracle 10g 강좌에서 좀 더 자세한 내용을 확인 할 수 있습니다. 오라클 백그라운드 프로세스는 5개의 필수 프로세스와 그 밖에 프로.. www.gurubee.net 오라클 백그라운드 프로세스는 5개의 필수 프로세스와 그 밖에 프로세스로 구성되어 있습니다. 오라클..

    MySQL Replication 단방향 이중화

    MySQL Replication 단방향 이중화

    MySQL Replication MySQL Replication(리플리케이션) 이란 복제를 뜻한다. 최소 구성은 2대 이상이며 Master / Slave 구성이다. 실시간 데이터 백업과 여러 대의 DB서버의 부하를 분산시킬 수 있다. 웹서버 같은 경우 L4를 이용하여 로드밸런싱으로 부하를 해결할 수 있다. 웹서버의 부하를 해결하여도 DB서버의 부하로 인하여 사이트가 느리게 열릴 수 있다. 1) DB서버 부하는 어떻게 해결해야 되는지? 2) DB서버 이중화하는 방법은 없는지? 구성 OS : Linux (CentOS) Master IP : 192.168.0.51 Slave IP : 192.168.0.52 DataBase : repl_db [Master 계정 정보] Master 서버에 데이터를 가져오기 위해선..

    MYSQL 복구

    회사 직원의 실수로 Mysql 을 특정 DB를 날렸다. 결국 복구는 했지만 백업화일을 만들어 두지 않아서 나름 귀찮고 힘든 과정이었다. 그래서 mysql 를 날렸을때 복구하는 방법을 간단하게나마 설명하고자 한다. root 계정으로 작업하고 /usr/local/mysql 을 기본 디렉토리로 본다는 가정하에.. ^^ mysqldump를 이용한 백업화일이 존재하는 경우 /usr/local/mysql/bin/mysql -u root -p < BackUp.sql 가장 쉽게 복구하는 방법이다. 하지만 이 경우 문제점이 있다. Cron 등의 프로그램으로 매일 백업을 받는다고 하더라도... 백업받은 시점과 DB를 날린 시점에서의 데이터는 다를수 있기 때문이다. 그런 부분을 커버 할수 있는것이 binlog 이다. 원래 ..

    MYSQL 초기 패스워드 및 설정파일 위치

    mysql 초기 패스워드 /root/.mysql_secret 초기 설정파일 cp -arp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 또는 /etc/my-default.cnf

    mysql 정리1

    mysql : cli 클라이언트 mysqladmin : 서버 관리자 프로그램 mysql_install_db : 초기 DB 설치 프로그램 DDL 데이터 정의 언어 : create alter drop 등이 명령 DML 데이터 조작 언어 : select, insert, delete, update, 등 DCL 데이터 제어 언어 : grant revoke password가 지정이 안되어있을때는 mysqladmin password 123123 으로 지정함 -------------------------잘 안쓸거임------------------------------------------------------------- ## USER 생성 ## create user 'user'@'%'localhost' identif..

    Binary Log(binlog)

    원본출처 : https://systemv.tistory.com/52 Binary Log(binlog) 사용하기 binlog(쉽게 빈로그라 읽고 쓰자..)는 서버내에서 발생되는 모든 변경내역이 기록되는 파일이다. PIT(시점복구)와 리플리케이션에 필수 요소이며 이 2가지 기능을 쓰지 않는다면 굳이 활성화 할 필요는 없다. 빈로그를 쓰는것 자체가 미세하지만 IO 부담을 가중시키기 때문이다. 빈로그 활성화 하기 빈로그를 활성화 할 수 있는 방법은 2가지다. 1. 서버 구동시에 --log-bin 옵션을 준다. [root@localhost]# mysqld_safe --log-bin=systemv-bin-log & --log-bin=VALUE 과 같은 형식으로 사용할수 있는데 VALUE에는 파일경로/파일명을 쓸수 ..

    mysql

    컬럼 = 테이블 열 레코드 = 테이블 행 desc 테이블명; = 스키마(테이블구조) 조회 select * from 테이블명 = 레코드 조회 drop database,table DB명,테이블명= db, table 삭제 -----alter = 스키마(테이블구조) 변경or삭제or추가-- alter table 테이블명 rename 바꿀테이블명; = 테이블명 변경 alter table 테이블명 change 기존필드명 바꿀필드명 데이터타입; = 변경 alter table 테이블명 drop 필드명; = 삭제 alter table 테이블명 add 필드명 데이터타입; =추가 -------------------------------------------------------- -----insert = 테이블안에있는 레코드..