분류 전체보기

Database/MySQL

MySQL Replication 연결

# Master mysql > show master status; ex ) +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000010 | 6696003 | | | | +------------------+----------+--------------+------------------+--------..

Database/MySQL

MySQL DB 명세서 쿼리 작성

SELECT t1.table_name, t1.table_comment, column_name, data_type, column_type, column_key, is_nullable, column_default, extra, column_comment FROM (SELECT table_name, table_comment FROM information_schema.TABLES WHERE table_schema='WH') t1, (SELECT table_name, column_name, data_type, column_type, column_key, is_nullable, column_default, extra, column_comment, ordinal_position FROM information_sche..

Database/MySQL

MySQL innodb 버퍼 할당 에러

vi /ect/mysql/my.cnf # innodb 설정 값 중 메모리량을 적절하게 변경 innodb_buffer_pool_size = 5120M innodb_data_file_path = ibdata1:1000M:autoextend ​ 2018-07-13 14:00:43 21419 [Note] InnoDB: Initializing buffer pool, size = 5.0G InnoDB: mmap(686817280 bytes) failed; errno 12 2018-07-13 14:00:44 21419 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 2018-07-13 14:00:44 21419 [ERROR] Plugin 'InnoDB' ini..

Database/MySQL

MySQL 프로시저 디버그

CREATE DEFINER=`jay_g`@`192.168.1.88` PROCEDURE `debug_msg`(_type VARCHAR(100) ,msg VARCHAR(255)) BEGIN SELECT concat("** DEBUG ** ", _type ," : ", msg) AS 'DEBUG'; END

Database/MySQL

MySQL error 1364 Field doesn't have a default values

MySQL 5.6 이전에는 필드 생성시 default 값을 따로 지정을 안 해도 insert 시에 '' 처럼 자동으로 디폴트 값이 반영이 되었습니다. 5.6 이후부터는 STRICT 모드라고 해서 테이블 생성시에 default 값을 지정하지 않을 경우 insert 시에 아래와 같이 에러가 발생합니다. Field 'name' doesn't have a default value 외부 프로그램을 사용시 테이블의 필드들을 모두 수정하기는 힘든 경우가 많습니다. 이런 경우 my.cnf 에서 기본 설정을 되어 있는 STRICT 모드를 해제해 줍니다. #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES sql_mode=NO_ENGINE_SUBSTITUTION 해제 후에 MyS..

Database/MySQL

MySQL Dump시 테이블 Lock 에러

mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES 에러 발생 시 GRANT SELECT,LOCK TABLES ON DBNAME.* TO 'username'@'localhost'; flush privileges;

Database/MySQL

MySQL 접속 유저 추가

# 현재 유저별 호스트 확인 select user,host,password from mysql.user order by user; # 유저 추가 create user 'ID'@'a.b.c.d' identified by 'PASSWD'; grant all privileges on *.* to 'ID'@'a.b.c.d' with grant option; flush privileges; 5.7 버전 이상시 select user,host,authentication_string from mysql.user order by user; create user 'id'@'a.b.c.d59' identified by 'passwd'; grant all privileges on *.* to 'id'@'a.b.c.d' wit..

IT

[토끼책] 객체지향의 사실과 오해 - 2장. 이상한 나라의 객체

객체를 발견하고 창조하는 것은 지식과 행동을 구조화 하는 문제이다 (by. 레베카 위프스브록) 인간은 본능적으로 세상을 독립적이고 식별 가능한 객체의 집합으로 바라본다. 많은 사람들이 객체지향을 직관적이고 이해하기 쉽다고 하는 이유는 객체지향이 세상을 자율적이고 독립적인 객체들로 분해할 수 있는 기본적인 인지능력에 기반을 두고 있기 때문이다. 하지만 인간은 물리적인 한계를 넘어 추상적인 사물까지도 객체로 인식할 수 있다. (주문, 통장의 이체 등 손이나 눈에 안보이는 추상적인 것들) 저자는 이 장의 설명을 위해서 "이상한 나라의 앨리스" 책의 앨리스를 예로 들고 있다. 문을 지나 정원을 가기 위해서 앨리스는 키를 조정해야 한다. 병속의 액체나 케이크를 먹는 것으로 키를 조정할 수 있다고 하며 또, 버섯으..

IT

[토끼책] 객체지향의 사실과 오해 1장 - 협력하는 객체들의 공동체

"객체지향이란 실세계를 직접적이고 직관적으로 모델링 할 수 있는 패러다임" 현실 속에 존재하는 사물을 최대한 유사하게 모방해 소프트웨어 내부로 옮겨오는 작업. 즉, 객체지향 소프트웨어는 실세계의 투영이며 현실 세계 사물에 대한 추상화이다. 하지만, 현실은 객체에 직접적으로 대응되는 실세계의 사물을 발견한 확률은 높지 않다. 또 존재하더라도 유사성을 찾기가 매우 어려운 게 일반적이다. 화재의 확산을 막는 "방화벽" 과 네트워크의 침입을 막는 "방화벽" 을 예시로 실제 사물과 소프트웨어 객체 간의 의미적 거리와 연관성 간의 괴리를 예로 들을수 있다. 예 소프트 웨어에서 보는 객체 : 행위에 대한 "캡슐화(encapsulation)" 와 "자율성(autonomous)" 메시지(아규먼트) : 현실 세계의 사람들..

Database/MySQL

MySQL 5.7 설정 튜닝

MySQL 5.7에서 가쟝 중요한 4가지 변수가 있다. [mysqld] innodb_buffer_pool_size = 10240M (램의 50~70% 정도로 설정) innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 # may change to 2 or 0 innodb_flush_method = O_DIRECT // performance_schema 데이터베이스 사용 USE performance_schema // 현재 쓰레드(연결) 개수 확인 SELECT * FROM performance_schema.threads // 현재까지 누적된 쿼리 패턴 통계 확인 SELECT * FROM performance_schema.events_statement..

Database/MySQL

Indexing for High Performance

Indexing for High Performance Index 는 좋은 성능을 위해서 중요하며 데이터가 점점 커지면 커질수록 더욱 중요해진다. 불행하게도, Index 는 종종 잊혀지거나 오해 되어 잘못 사용 될 수 있고 이는 현실 세계에서 문제가 된다. (저자 : 그래서 우리가 query optimzation 보다 앞 챕터로 넣은 것이다.) 인덱스 최적화는 쿼리 최적화를 위한 가장 강력한 방법이다. 진실된 인덱스 작업은 너의 쿼리 재작성을 요구할 수 있다. 따라서 쿼리 최적화보다 먼저 배워랑 Indexing Basics MySQL에서 storage engine 비슷한 방법으로 인덱스를 사용한다. storage engine은 인덱스 자료 구조에서 값을 찾는다. 값을 매칭 되는 것을 찾을 때, storag..

Database/MySQL

데이터 베이스 설계 프로세스

데이터 베이스 설계 프로세스를 수행하는 방법에 대한 전반적인 생각과 프로세스에 포함된 각 순서에 대한 일반적인 생각을 가지고 있는 것은 중요하다. 일곱단계에 걸쳐서 설계 프로세스에 있는 정리 했으며, 설계 프로세스에 대한 전체적인 그림과 기술들의 이해를 보다 명확하게 할 수 있도록 도움이 되길 바란다. 새로운 데이터베이스를 설계할 때나 현재 운영중인 데이터베이스를 개선할 때, 혹은 분석한 결과를 토대로 새로운 데이터베이스를 설계하기 위해 운영 중인 데이터 베이스를 설계 할때 사용할 수 있을 것이다. 데이터 베이스에서 구조적인 무결성과 데이터 무결성의 수준이 전체적으로 설계 프로스세를 준수한 수준과 정비례 관계에 있다. 임무 목표와 임무 명세 정의 데이터 베이스의 임무 목표와 임무 명세를 정의하는 단계이다..

Database/MySQL

Isolation level (트랜잭션 고립(격리) 수준)

Isolation Levels (트랜잭션 고립(격리) 수준) 우선 Transaction에서 사용 되는 개념이다. SQL은 4개의 Isolation level을 정의하고 있다. READ UNCOMMITTED, READ COMMITED, REPEATABLE READ, SERIALZABLE 각 Storage Engine 혹은 DBMS 마다 조금씩 다르게 구현 되어 있다. 따라서, 어떤것을 사용하기 전에 메뉴얼을 읽어보자(언제 읽냐...) READ UNCOMMITTED Transaction은 uncommitted 결과를 볼 수 있다. 이 단계에서 너가 정말 정말 좋은 의도로 개발을 했지만 많은 문제가 발생할 수 있다. 이 단계는 거의 실용적이지 않다. 왜냐하면, 성능이 다른 레벨들보다 좋지 않기 때문이다. un..

Database/MySQL

MySQL's Storage Engines - InnoDB Engine

InnoDB Engine ** 개요 ** InnoDB는 가장 중요하며 광범위하게 활용적인 Default Transactional storage engine 이다. 짧은 생명주기의 Transaction 처리 완료를 위해 디자인 되었다. (롤백 보다는) InnoDB는 Tablespace 라고 알려진 한개 이상의 데이터 파일 시리지 안에 자체 파일을 저장한다. (Tablespace 는 근본적으로 InnoDB가 자기 자신을 관리하는 블랙박스이다.) InnoDB는 각 테이블의 데이터와 인덱스들을 분리된 파일로 저장할 수 있다. (각각의 Tablespace를 만듬으로서 raw disk partition을 사용할 수 있다. 최신의 파일시스템이 이를 필요하지 않게 만들기는 했지만) ** MVCC ** 높은 동시 처리성..

Database/MySQL

프로시저 언제 사용해야 하나?

The benefits of using stored procedures in SQL Server rather than application code stored locally on client computers include: They allow modular programming. They allow faster execution. They can reduce network traffic. They can be used as a security mechanism. Determine when to use stored procedures vs. SQL in the code Stored procedures in SQL Server are similar to procedures in other programm..

Database/MySQL

트랜잭션 너는 누구니?

When should I use transactions in my queries? Basically any time you have a unit of work that is either sensitive to outside changes or needs the ability to rollback every change, if an error occurs or some other reason. 트랜잭션의 특징 트랜잭션의 특징은 크게 4가지로 구분된다. 원자성 (Atomicity) 일관성 (Consistency) 독립성 (Isolation) 지속성 (Durability) 첫번째로, 원자성은 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것이다. 트랜잭션은 사람이 설계한 논리적..

Database/MySQL

MySQL's Storage Engies - MyISAM Engine

MyISAM ** 개요 5.1 버전 이하 default storage engine 이다. full-text 인덱싱, 압축, spatial functions 등 다양한 기능들을 제공 한다. Transaction 이나 row-level lock 은 제공 안 한다. 가장 큰 취약점은 충돌에서 안전하지 않다는 점이다. (The fact it isn't even remotely crash-safe) ** 왜 충돌에서 안전하지도 않고 non-transaction 인 MyISAM을 계속해서 사용 하는 것일까?? (저자 : 모든 부분에서 나쁘지는 않다. Non-trasaction, non-crash-safe를 한다면... ) 만약 read-only 혹은 데이터가 크지 않거나, 복구에 마음이 아프지 않을려면 묻지 말고 ..

OS/Centos

Centos 파일, 디렉토리 찾기

파일 찾기 (파일명 검색) 현재 디렉토리에서, pl 확장자를 가진 모든 파일 찾기 find -name '*.pl' (현재 디렉토리 밑의 하위 디렉토리까지 다 찾습니다.) 루트에서부터, 즉 전체 하드에서, pl 확장자를 가진 모든 파일 찾기 find / -name '*.pl' 전체 하드 디스크에서, 파일명이 ab 로 시작하는 모든 파일 찾기 find / -name 'ab*' 전체 하드 디스크에서, 파일명이 .bash 로 시작하는 모든 파일 찾기 find / -name '.bash*' 전체 하드 디스크에서, 파일명이 .bash 로 시작하는 모든 파일 찾기 + ls 명령 형식으로 출력 find / -name '.bash*' -ls 뒤에 -ls 라는 옵션을 붙이면 됩니다. 디렉토리명 찾기 전체 하드 디스크에서,..

OS/Centos

Centos 6, 7 포트 추가

Centos 6의 경우 # 우선 포트를 먼저 확인 하자 netstat -ntlp # 파일 오픈 vi /etc/sysconfig/iptables # 특정 포트 Open -A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT # 특정 포트 + IP 대역으로 한다고 하면, -A INPUT -p tcp -s 27.1.217.110 --dport 8988 -j ACCEPT # 재시작 service iptables restart 혹은 /etc/init.d/iptables restart service iptables save Centos 7의 경우 firewall-cmd --permanent --zone=public --add-port=3306/tcp # ..

Python

PIP 꼬임

https://stackoverflow.com/questions/50742538/importerror-no-module-named-sysconfig-cant-get-pip-working?newreg=8ac8ac18382346d28bf285f5fc5fbdef

상쾌한기분
'분류 전체보기' 카테고리의 글 목록 (12 Page)