본문 바로가기

개발/Database

(16)
mysql db user만들고 select권한 부여하기 mysql user만들고 select권한 부여하기 1234567CREATE USER 'hello'@'%' IDENTIFIED BY 'password'; select * from mysql.user; GRANT SELECT ON *.* TO 'hello'@'%'; drop user 'hello'@'%';cs user만들고만들었는지 확인하고select권한 부여하고지우기 CRUD부여GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'hello'@'%'; 인덱스 권한 추가GRANT INDEX ON *.* TO 'hello'@'%'; 모든 권한 부여GRANT ALL PRIVILEGES ON *.* TO 'hello'@'%'; 패스워드 변경set password for 'app'@..
java로 mysql 쓸 때 db가 뻗는 경우 1. connection pool이 많이 생김Connection을 new로 생성 하는 경우 Connection이 많이 생길 수 있다.왜냐하면 select가 오래 걸리는 slow query가 생기는 경우 connection이 close되기 전에 계속 쿼리를 날리게 되는 경우가 있다.그런데 여기에 connection pool제한이 100~200 이런식으로 크게 해놓으면 문제가 생길 수 있다. end.
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 안걸려 있는 경우 걸려고 할 때 쓰면 좋을 것 같다.
datetime으로 되어있는 field에서 time빼고 date로만 개수 세기 datetime으로 되어있는 field에서 time빼고 date로만 개수 세기 select cast(entry_time as date), count(*) from live_eleven_schedulewhere entry_time between "2016-02-01" and date_add("2016-02-01", interval 1 month)group by cast(entry_time as date) 아래와 같이 date_time으로 되어있는 field도 이렇게 정리 되어서 뽑힘 end.