본문 바로가기

개발/Database

(18)
mysql db user만들고 select권한 부여하기, DB DUMP 및 복구 mysql user만들고 select권한 부여하기 CREATE USER 'hello'@'%' IDENTIFIED BY 'password'; /* user만들기 */ select * from mysql.user; /* 만들어졌는지 확인하기 */ GRANT SELECT ON *.* TO 'hello'@'%'; /* select권한 부여 다른 권한 부여 안됨 주의 */ drop user 'hello'@'%'; /* hello 지우기 */ 위에서 grant select on *.* To 'hello'@'%'; 까지만 하면 select권한만 부여됩니다. CRUD부여 GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'hello'@'%'; CRUD + Table Create부여 G..
java로 mysql 쓸 때 db가 뻗는 경우 1. connection pool이 많이 생김Connection을 new로 생성 하는 경우 Connection이 많이 생길 수 있다.왜냐하면 select가 오래 걸리는 slow query가 생기는 경우 connection이 close되기 전에 계속 쿼리를 날리게 되는 경우가 있다.그런데 여기에 connection pool제한이 100~200 이런식으로 크게 해놓으면 문제가 생길 수 있다. end.
aws Rds Aurora MySql에 부하를 줘서 db를 뻗게 하려면? aws Rds MySql에 부하를 줘서 db를 뻗게 하려면? 요즘에는 안죽는 서비스에 대해서 고민중입니다. 서비스에 장애를 하도 겪어서 백엔드 개발자의 숙명이라 할 수 있겠지 싶은데 백엔드는 한발한발 나가는게 쉽지가 않습니다. 이게 어플리케이션을 만드는게 중요한게 아니고 만들긴 만들었는데 올려서 서비스를 할 때 안정적이어야 합니다. 이것은 무슨말인고 하면 ddos가 들어와도 안뻗어야 합니다. 안뻗는 서비스는 만들기가 쉽지가 않습니다. 그렇게 경력이 많은 엔지니어들이 끊임없이 고민을 해야 겨우 될까말까 하는 것. FileListGetter.java @Slf4j public class StringListGetter { public List getList(String fileLocation, String fi..
linux에 mongodb 설치 linux에 mongodb 설치 일단 리눅스 버젼에 따라 조금씩 다른 것 같은데 내가 설치 리눅스 버젼은 CentOS다. CentOS는 레드헷 기반이라서 레드헷 메뉴얼을 보면서 설치 했다. https://docs.mongodb.com/getting-started/shell/tutorial/install-mongodb-on-red-hat/ 간단하게 yum으로 설치하면 설치 된다. yum install -y mongodb-org 위 명령어 한줄이면 끗.
mysql 5.7 .zip window10에서 다운로드 받고 실행하기 mysql 5.7 .zip window10에서 다운로드 받고 실행하기 1. mkdir data2. .\mysqld.exe --console --initialize-insecure --basedir=.\data\ //로 초기화함3. .\mysqld.exe --console --basedir=.\data\ // 로 db 띄움4. .\mysql.exe -u root 로 // db에 연결 MySql버젼을 기존에 5.5를 쓰다가 5.7로 올렸는데 몇가지 이슈가 있어서 로컬에서 테스트 할려고 윈도10에 설치 시도를 해봤다. 일단 발생했던 문제는 default timestamp문제인데 5.7에서는 timestamp를 사용하는 필드에 기본값을 null로 주는 경우 자동으로 값을 만들어주지 않는 이슈가 있다. 그래서 기..
mysql 에서 쿼리별로 실행한 빈도 찾는법 mysql 에서 쿼리별로 실행한 빈도 찾는법1234567891011121314151617select now(), SUBSTRING(VARIABLE_NAME, 5) as query_type, VARIABLE_VALUE as total_count, round(VARIABLE_VALUE / ( select VARIABLE_VALUE from information_schema.GLOBAL_STATUS where VARIABLE_NAME = 'Uptime_since_flush_status'), 2) as per_second, round(VARIABLE_VALUE / ((select VARIABLE_VALUE from information_schema.GLOBAL_STATUS where VARIABLE_NAME =..
foreign key 걸린 테이블 데이터 지우는 법 foreign key 걸린 테이블 데이터 지우는 법select * from child where gidx in (select gidx from parent where gdate="2017-05-20" and gtype = 11 and view_live = 0); select * from parent where gdate = "2017-05-20" and gtype = 11 and view_live = 0;
없는 record 지우기 parent table에 없는 레코드 지금 table에서 지우기123select * from live_foot_scorewhere gidx not in (select gidx from live_base_game where gtype=11) Colored by Color Scriptercs foreign key 안걸려 있는 경우 걸려고 할 때 쓰면 좋을 것 같다.