반응형

Error Code: 1205. Lock wait timeout exceeded 에러발생시

구글링해보니 보통 다음 2가지 해결책 제시됨

    1. lock timeout 시간을 늘려주라

workbench 기본 read time-out은 30초였는데 늘여도 소용없었음

 

    1. LOCK 테이블에 lock이 존재하는지 확인해보라

use information_schema;
select * from information_schema.INNODB_LOCKS;
select * from information_schema.INNODB_LOCK_WAITS;
select * from information_schema.INNODB_TRX; -- 오랜 시간 동안 Commit 되지 않은 transaction
show full processlist; -- 로 어떤 IP에서 접속했는지 등 정보확인
kill 423911;-- 의심(?)되는 것을 킬

 

참고) https://www.popit.kr/mysql-lock-%EC%83%81%ED%99%A9-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0/

반응형
반응형

? shell로 접근하려면 10060port사용해야 하는지?

Can't connect to MySQL server on 'rds-an2-richcdp-qa2-mysql.cjbyfjmv7vdu.ap-northeast-2.rds.amazonaws.com' (10060) when trying to connect


EXPORT

$mysqldump -uroot -p wordpess > dump160724.sql

(workbench통해 실행할 때 명령어) mysqldump.exe --defaults-file="c:\users\user\appdata\local\temp\tmpr46kpq.cnf" --user=cdp_mgr --host=rds-an2-richcdp-qa2-mysql.cjbyfjmv7vdu.ap-northeast-2.rds.amazonaws.com --protocol=tcp --port=3310 --default-character-set=utf8 --skip-triggers --skip-column-statistics "richcdp_kic_qa2" "tb_rc_user"

 

IMPORT

$mysqladmin -uroot -p create wordpress

$mysql -uroot -p wordpress < dump160724.sql

반응형

'db' 카테고리의 다른 글

mysql workbench timeout 설정 (Lost connection to MySQL server during query)  (0) 2020.05.25
mysql lock  (0) 2020.05.25
oracle VS mysql  (0) 2020.02.26
mysql query tip  (0) 2020.01.31
H2 DB 사용방법  (0) 2019.10.30
반응형

mainpage = <Redirect to="/dashboard" />;

mainpage=<meta http-equiv="refresh" content="0; url=/signin"/>;

window.location.href = '/signin';

mainpage = <Route path="/" component={Signin} />; re-render OK, not refresh

history.push('/PROGRAM/programlist');re-render ?, not refresh

 

import { Route, Redirect } from 'react-router-dom';

반응형

'js' 카테고리의 다른 글

CORS(Cross-Origin Resource Sharing)  (0) 2022.06.10
react-scripts build  (0) 2020.12.17
ES6(2015) - import/export  (0) 2020.03.24
eslint, prettier  (0) 2020.03.18
javascript timezone  (0) 2020.03.15
반응형

WAS

  • mvn spring-boot:run -Dspring-boot.run.profiles=local -> bash shell(git bash in Windows)에서만 작동하는듯
  • ./mvnw spring-boot:run -Dspring.profiles.active=local
  • SPRING_PROFILES_ACTIVE=local ./mvnw
  • 이게 안되면 mvn spring-boot:run으로 빌드후 배너만 나오고 이후 반응없음 

Jar

  • java -jar -Dspring.profiles.active=local xxx.jar(jar file path)
반응형

'java, spring' 카테고리의 다른 글

Java Web Application  (0) 2021.03.02
tomcat  (0) 2021.03.02
java time - Instant, LocalDate  (0) 2020.03.16
Lombok  (0) 2020.02.14
Log4j  (0) 2020.02.13
반응형
  • export
    • default
      • function, class만 가능, 아니면 Parsing error: Only expressions, functions or classes are allowed as the `default` export.에러남
      • import시   import 그냥  from  이렇게 사용
    • named
      • import시 import {일케}  from이렇게 해야함
      • export A를 import {B}로 바꿔서 사용가능
      • import {A as B} 이렇게도 변경가능
      • import * as lib from 이렇게 해서  전체를 lib로 받고 lib.a로 사용가능

 

 

반응형

'js' 카테고리의 다른 글

react-scripts build  (0) 2020.12.17
page redirect 방법들  (0) 2020.04.12
eslint, prettier  (0) 2020.03.18
javascript timezone  (0) 2020.03.15
frontend setting in Windows  (0) 2020.01.13
반응형

vsCode에서 사용방법

  • prettier 규칙적용: F1 > Format Document
  • 저장시 자동적용: settings.json에 추가 - "editor.formatOnSave"true,
  • eslint: F1 > ESLint fix all auto-fixable Problems
  "singleQuote": true, //문자열 입력 시 쌍따옴표(") 대신 따옴표(') 사용
  "semi": true, //코드 끝에 항상 세미콜론 추가
  "useTabs": false,
  "tabWidth": 2,
  "trailingComma": "all", //객체, 배열 등의 마지막 항목에 콤마(,) 추가
  "printWidth": 500,
  "bracketSpacing": true //괄호 안에 데이터가 있을 때 공백 삽입
{
  "arrowParens": "always",
  "bracketSpacing": true,
  "endOfLine": "lf",
  "htmlWhitespaceSensitivity": "css",
  "insertPragma": false,
  "singleAttributePerLine": false,
  "bracketSameLine": false,
  "jsxBracketSameLine": false,
  "jsxSingleQuote": false,
  "printWidth": 500,
  "proseWrap": "preserve",
  "quoteProps": "as-needed",
  "requirePragma": false,
  "semi": true,
  "singleQuote": false,
  "tabWidth": 2,
  "trailingComma": "es5",
  "useTabs": false,
  "embeddedLanguageFormatting": "auto",
  "vueIndentScriptAndStyle": false,
  "filepath": "c:\\workspace\\csportalfront\\src\\views\\Setting&Management\\EvaluationSetting.js",
  "parser": "babel"
}

https://prettier.io/docs/en/options.html

 

Prettier · Opinionated Code Formatter

Opinionated Code Formatter

prettier.io

 

prettier eslint
  "singleQuote": true,  //문자열은 '로만사용    
  "semi": true, //코드는 ;로 끝남 semi: ['warn', 'always']  
  "useTabs": false, //탭 사용여부 indent: ['warn', 'tab'] ???  
  "tabWidth": 2, //탭 크기    
  "trailingComma": "all", // 객체 끝 부분에도 Comma 추가 'comma-dangle': ['warn', 'never']과 대치됨  
  "printWidth": 100  // 줄 당 max length    
    'space-before-function-paren': ['warn', 'always']  get( x, get ( o
    'react/jsx-indent': ['warn', 'tab'],  
    'linebreak-style': ['warn', 'unix']  
    'react/sort-prop-types': [
      'warn',
      {
        ignoreCase: true,
        requiredFirst: true,
      },
    ],
 
 알파벳순 정렬안되면 에러
       
       
       
반응형

'js' 카테고리의 다른 글

page redirect 방법들  (0) 2020.04.12
ES6(2015) - import/export  (0) 2020.03.24
javascript timezone  (0) 2020.03.15
frontend setting in Windows  (0) 2020.01.13
Promise, async, await...  (0) 2020.01.02
반응형

@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyyMMdd") LocalDate date) 동작

@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyyMMdd") Instant date) 에러

Instant로는 yyyymmdd로 받을 수가 없는 듯

 

how to check available timezone

Set<String> zoneIdSet = ZoneId.getAvailableZoneIds();

for(String zoneId:zoneIdSet) System.out.println(zoneId);

 

하루 더하기

[LocalDate] date.plusDays(1)

[Instant] time.plus(1, ChronoUnit.DAYS), time.plus(Duration.ofDays(1))

 

LocalDate -> Instant 변환

ZoneId timezone = ZoneId.of("UTC");// ZoneId.systemDefault()->KST+9

date.atStartOfDay(timezone).toInstant();

반응형

'java, spring' 카테고리의 다른 글

tomcat  (0) 2021.03.02
spring-boot profile별 실행  (0) 2020.03.25
Lombok  (0) 2020.02.14
Log4j  (0) 2020.02.13
ChannelGenre enum관련 에러 (patch시 No validator could be found for constraint)  (0) 2020.01.14
반응형
반응형

'js' 카테고리의 다른 글

page redirect 방법들  (0) 2020.04.12
ES6(2015) - import/export  (0) 2020.03.24
eslint, prettier  (0) 2020.03.18
frontend setting in Windows  (0) 2020.01.13
Promise, async, await...  (0) 2020.01.02
반응형

이러한 CSS의 태생적 한계를 보완하기 위해 Sass는 다음과 같은 추가 기능과 유용한 도구들을 제공한다.

  • 변수의 사용
  • 조건문과 반복문
  • Import
  • Nesting
  • Mixin
  • Extend/Inheritance

CSS와 비교하여 Sass는 아래와 같은 장점이 있다.

  • CSS보다 심플한 표기법으로 CSS를 구조화하여 표현할 수 있다.
  • 스킬 레벨이 다른 팀원들과의 작업 시 발생할 수 있는 구문의 수준 차이를 평준화할 수 있다.
  • CSS에는 존재하지 않는 Mixin 등의 강력한 기능을 활용하여 CSS 유지보수 편의성을 큰 폭으로 향상시킬 수 있다.
  •  

https://poiemaweb.com/sass-basics

반응형
반응형

 

  oracle mysql  
  NVL(EPSD_NO,'0')   select IFNULL(null,'if it is null');
CASE WHEN EPSD_NO IS NULL OR EPSD_NO = ''
THEN '0' ELSE EPSD_NO END
오라클은 ''을 null로 삽입하지만, mySQL은 ''은 그대로 ''로 삽입함
이것때문에 문제소지 없는지 확인필요함
  decode( 1,1,'true','false') IF(조건, '참','거짓'))

case when 조건 then 결과
else 결과 end
SELECT IF (5<10, '크다','작다')
select case when 1=1 then 'true' else 'false' end;
 
  WHERE ROWNUM <= 30   LIMIT 30 정렬후 limit할 경우, 오라클은 limit이 where절에 들어가고(WHERE ROWNUM<x)
정렬보다 먼저 적용되므로 정렬후 inner view로 싸고 limit해야 하나 mySQL은
limit이 정렬후에 적용되어 inner view로 감쌀 필요가 없음 이건 mySQL이 더편함












string
관련
 

select LENGTHB('가나다') from dual;
select LENGTH('가나다') from dual;
LENGTH(str)
CHAR_LENGTH(str)
select LENGTH('가나다'); /*byte legnth*/
select CHAR_LENGTH('가나다');
9
3
 'A'||'B'||'C CONCAT(str1,str2,...)
CONCAT_WS(separator,str1,str2,...)
select CONCAT( 'A', 'B', 'C');
select CONCAT_WS(',','1','2','3');
ABC
1,2,3
 SUBSTR(str, pos)  SUBSTRING(str, pos)
= SUBSTRING(str FROM pos)
SUBSTRING(str, pos, len)
= SUBSTRING(str FROMpos FOR len)

 
SELECT SUBSTRING('123456',3); /* index는 모두 1부터 시작*/
SELECT SUBSTRING('123456',3,2);
SELECT SUBSTRING('123456', -3); /* 음수일때는 끝에서부터 셈*/
SELECT SUBSTRING('123456', -5, 4);
3456
34
456
2345



SUBSTRING_INDEX(str,delim,count) SELECT SUBSTRING_INDEX('AB*CD*EF*G', '*', 1);
SELECT SUBSTRING_INDEX('AB*CD*EF*G', '*', 2);
SELECT SUBSTRING_INDEX('AB*CD*EF*G', '*', 5);
SELECT SUBSTRING_INDEX('AB*CD*EF*G', '*', -2);
SELECT SUBSTRING_INDEX('AB*CD*EF*G', '*', 0);
AB
AB*CD
AB*CD*EF*G
EF*G
''
INSTR
 
SELECT INSTR('AB*CD*EF*G', '*', 4, 2 ) FROM dual
4th 문자부터 시작하여 2nd *의 위치 반환
없으면 0 반환
     














date
관련
sysdate
trunc(sysdate)
?
NOW()
CURDATE()
CURTIME()
select NOW(); /*GMT 기준시로 나옴*/
select CURDATE(); /*GMT 기준시로 나옴*/
select CURTIME(); /*GMT 기준시로 나옴*/
2015-07-16 05:05:54
2015-07-16
05:05:54
TO_DATE( time ,'yyyymmddhh24miss') STR_TO_DATE( str ,'format') select STR_TO_DATE(now(),'%Y-%m-%d'); 2nd 인자가 string의 format에 맞아야 함
  DATE(date)
TIMESTAMP(date)
UNIX_TIMESTAMP(date)
select DATE(now())
select TIMESTAMP(now())
select UNIX_TIMESTAMP(now())
date에서 time자르고 day까지 반환
time까지 반환
sec단위로 반환?
  EXTRACT(unit FROM date) select EXTRACT(year FROM now())  
TO_CHAR( TIME,'yyyymmddhh24mi') DATE_FORMAT(date,format) select DATE_FORMAT(now(),'%b %d %Y %h:%i %p');
select DATE_FORMAT(now(),'%d %b %y %k:%i');
select DATE_FORMAT(now(),'%d %b %Y %T:%f');
Jul 16 2015 06: 18 AM
16 Jul 15 6: 23
16 Jul 2015 06:19:33:000000
sysdate + hour/24 DATE_ADD(date,INTERVAL expr type) select DATE_ADD(now(),  INTERVAL 12 HOUR)  
sysdate - day DATE_SUB(date,INTERVAL expr type) select DATE_SUB(now(),INTERVAL 5 DAY)  
오늘 14:10   select DATE_ADD(DATE_ADD(current_date, interval 14 hour), interval 10 minute)
select current_date + interval 14 hour + interval 10 minute
 
어제 14:10   select DATE_ADD(DATE_ADD(current_date, interval -10 hour), interval 10 minute)
select current_date - interval 10 hour + interval 10 minute
 
ROUND((COMPLT_DATE - GEN_DATE) * 24 * 60, 0) min DATEDIFF(date1,date2) select TIMEDIFF(COMPLT_DATE, GEN_DATE) from TB_IC_DMON_SCHD_HIST  
ROUND((END_TIME - STRT_TIME) * 24 * 60 * 60, 0) sec   ROUND(UNIX_TIMESTAMP(IBS.END_TIME) - UNIX_TIMESTAMP(IBS.STRT_TIME), 0)  총 걸린 second
    select CONVERT_TZ(now(),'+00:00','+09:00'); timezone변경: GMT를 KST로
  SELECT TO_CHAR( 11 ) FROM DUAL;
SELECT TO_NUMBER( '-11' ) FROM DUAL;
  select CAST( 11 AS CHAR );
select CAST( '-11' AS SIGNED );
 
  select * from A, B where 조건   select * from A, B where 조건;
select * from A join B on 조건;
select * from A inner join B on 조건;
select * from A natural join B; (A, B에 같은 이름의 컬럼이 있을 때만 동작)
inner join
  select * from A, B where 조건( + )   select * from A left outer join B on 조건;
select * from A left outer join B on 조건 left outer join C on 조건;
select * from A right outer join B on 조건;
mySQL은 full outer join 지원안함
outer join
      select * from A cross join B; cross join
         

 

 

  • meta lock: online DDL지원하면서 도입된 개념(mySQL 5.X대 버젼부터 추가된듯), transaction 잡고 select 하면 DDL에 hang걸림, DML은 괜찮음 
    (즉, autocommit=false 설정하고 작업후 commit 안하고 그냥 끝내면 안됨, select만 해도 autocommit=true설정하거나 작업 후 반드시 commit해야함)
    svc package에는 view재생성 등 DDL이 많으므로 특히 주의해야함
  • mySQL에는 배열, synonym이 없음 - sdp-ibs에서는 배열로 임시테이블 만드는 대신 string으로 임시테이블 만드는 방법 사용함 
  • mySQL에는 sequence 없음 - 대신 auto increment라는 함수??사용가능 (default key 만들어주는 용도??) or sequence대신 테이블과 function을 사용할 수도 있음
    (sdp에서는 기존 sequence를 거의 테이블로 대체했음, hesdp_seq에 sequence로 사용하기 위한 테이블들 모여있음)
  • mySQL은 oraclel과 hint 사용법이 다르며 oracle hint /*+ ...*/은 mySQL에서 주석으로 무시된다
  • package 내 function들을 모두 procedure로 변경한 이유 - mySQL의 function은 out parameter를 사용할 수 없어서
  • batch job - event job으로 등록가능 (hesdp_com.pbf_batch_history 테이블에 이력남김, 등록은 DBA통해서)
  • HESDP_COM.FN_BLANKTONULL('$(GEN_USR_NO)') 사용하는 이유: 오라클은 ''을 null로 바꾸주는데 mySQL은 안바꿔줘서 function 만들어 사용함
  • mySQL은 oracle과 달리 object 변경이 있을 시, 관련 procedure나 fucnciton 재컴파일 안해줘도 됨
  • oracle은 select시 from절이 필수인 반면 mySQL은 필수아님 (from dual 안써도 됨)
  • 시간관련 함수들은 상당히 다름 (위 표 참고)
  • mySQL은 oracle과 달리 대소문자를 구분하는 경우가 많다. (e.g. 접속 user, 시간포맷 오라클은 YYYYMMDD=yyyymmdd이지만 mySQL은 %Y!=%y)
  • mySQL은 oracle과 달리 inner view를 사용할 때 꼭 table alias를 명시해줘야 함, 안그러면 에러남
  • SDP 운영 KIC, AIC, EIC, Q1 KIC mySQL DB만 master와 slave로 이중화 되어 있고 나머지는 하나임
    이중화된 DB의 경우, select는 slave에서 하고 update, delete, 혹은 update, delete와 select가 함께 일어나는 operation의 경우 master에서 작업한다.
    (성능때문에 이중화한건데, 그렇게 안하고 master만 계속 이용하면 이중화한 의미가 없음)
    master에서 변경된 data는 slave로 1초 이내에 복사된다.
반응형

'db' 카테고리의 다른 글

mysql lock  (0) 2020.05.25
mysql data migration  (0) 2020.05.21
mysql query tip  (0) 2020.01.31
H2 DB 사용방법  (0) 2019.10.30
mysql.*, information_schema.*  (0) 2019.09.06

+ Recent posts