일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- java
- Webpack
- migration
- Express
- spring cloud
- current_date
- Regular expression
- mysql 5.5
- Effective Java 3/e
- upgrade
- update
- expire_logs_days
- nodejs
- Spring Batch
- spring
- Node
- REACTJS
- regex
- MySQL
- 정규표현식
- npm
- log_bin
- Chunk
- Effective Java
- 퀵소트
- log4j2
- git
- eslint
- JavaScript
- REACT
- Today
- Total
목록Technical/MySQL (13)
내 세상
현재 사용 Mysql Version 5.5 . 8 이상부터는 expire_logs_days가 아님 ! show variables like "expire%"; 환경변수 중 expire로 시작하는 variable을 보여주는 명령어 flush privileges; grant 테이블을 reload함으로 변경사항을 바로 적용해주는 명령어 set global expire_logs_days = 7; Log 파일 만료 기간을 7일로 설정하는 명령어. purge master logs before date_sub(CURRENT_DATE, INTERVAL 7 DAY); Log 파일 중 현재 날짜로 부터 7일이 지난 파일을 삭제하는 명령어 my.ini에는 아래와 같은 줄을 추가해준다. expire_logs_days=7
현재 사용 Mysql Version 5.5 . 8 이상부터는 expire_logs_days가 아님 ! show variables like "expire%"; 환경변수 중 expire로 시작하는 variable을 보여주는 명령어 flush privileges; grant 테이블을 reload함으로 변경사항을 바로 적용해주는 명령어 set global expire_logs_days = 7; Log 파일 만료 기간을 7일로 설정하는 명령어. purge master logs before date_sub(CURRENT_DATE, INTERVAL 7 DAY); Log 파일 중 현재 날짜로 부터 7일이 지난 파일을 삭제하는 명령어 my.ini에는 아래와 같은 줄을 추가해준다. expire_logs_days=7

Partition - MySQL 서버 측에서 data를 여러 table에 분리하여 저장하지만, 사용자 입장에서는 하나의 테이블을 read/write 하듯이 사용할 수 있게 해주는 기능 Partition 사용 이유 - Table Size ↑ 에 따라 Index Size ↑ - Index Size > Memory Size 일 경우, table을 분할하여 index를 각각 생성했을 때 memory로 query를 처리할 수 있음. - Business Logic이나 특정 제도로 인한 필수 보관주기가 지난 데이터의 정리 또는 로그성 데이터의 테이블을 partion으로 관리한다면, 불필요한 데이터 삭제 작업은 단순히 파티션을 추가하거나 삭제하는 방식으로 빠르게 해결할 수 있음 - DML인 Delete로 처리했을 경우..
http://smalldatum.blogspot.com/2017/06/sysbench-for-mysql-50-51-55-56-57-and-8.html Sysbench for MySQL 5.0, 5.1, 5.5, 5.6, 5.7 and 8 Update - the regression isn't as bad as I have been reporting. Read this post to understand why. After sharing results for in-memory s... smalldatum.blogspot.com https://dogcowking.tistory.com/74 MySql 5.1 to 5.6 Upgrade * 개요 - MySql 5.1 에서 5.6 으로 업그레이드 - 5.1 에서 만들..
SELECT TestA as ta, TestB as tb, TestC, TestD, RANK_NUM FROM (SELECT *, (CASE @groupColumn WHEN column1 THEN @rowNum:=@rowNum+1 ELSE @rowNum:=1 END) AS RANK_NUM, (@groupColumn:=column1) FROM noname_table ORDER BY column1, column2 desc ) AS rankTable WHERE RANK_NUM
DELIMITER $$ DROP PROCEDURE IF EXISTS loopFunction$$ -- 같은 이름의 PROCEDURE를 삭제한다. CREATE PROCEDURE loopInsert() -- loopInsert 만들기 BEGIN DECLARE i INT DEFAULT 128; -- i 시작점 128 WHILE i
1. MySQL Stop 2. MySQL의 Data를 원하는 경로로 복사함. 3. 복사한 폴더의 사용 권한에서 NETWORK SERVICE를 추가하여 모든 권한을 부여함. 4. my.ini에서 [mysqld] 아래에 datadir="D:/MySQL Server 5.5/data" 를 추가하고 저장 5. MySQL Start Windows의 서비스에서 MySQL을 찾아보면, "다음 사용자로 로그온" 항목에 "Network Service"라고 되어있음. 그렇기 때문에 신규로 사용할 datadir에 대해서 해당 계정에 대한 권한을 부여해야함. 부여하지 않을 시, 에러 발생하여 실행되지 않음.
1. wait_timeout - mysqld와 mysql client가 connection된 후, idle 상태인 connection 끊을 때까지 서버가 대기하는 시간 - mysql 서버가 client와의 connection을 계속해서 가져가 max connections error가 발생하는 경우가 있음. - 28800(8시간, default) → 300(5분) 2. interactive_timeout - mysqld와 mysql client가 connection된 후, idle 상태가 아닌 connection을 끊을 때까지 서버가 대기하는 시간. - mysql 서버가 client와의 connection을 계속해서 가져가 max connections error가 발생하는 경우가 있음. - 28800(8시..
환경 - Backend: NodeJS (Express) - Frontend: React - Database: MySQL 문제 - Update Query를 각기 다른 여러개의 where 조건으로 매우 많이 진행해야하는 상황이 생김. - 개별로 진행할 경우, Update Timing이 다르기 때문에 실시간 정보를 가져옴에 있어 Delay가 생김. 해결 - Update의 경우 여러개의 where 조건을 사용하여 일괄적으로 사용이 어렵다. - 이때, INSERT INTO 구문을 UPDATE 구분처럼 사용할 수 있는 방안이 있음!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - INSERT INTO를 했을 때, 기존에 Primary key가 겹치는 데이터가 있을 때 특정 칼럼을 업데이트하는 방식임. 만약..
MySQL 에러 Error: ER_TRUNCATED_WRONG_VALUE: Truncated incorrect DOUBLE value 해당 에러는 update set을 할 때, 콤마(,)로 묶어줘야 하는 부분을 and로 묶어 발생하였음. **BEFORE** update sample_table set ip= '1.1.1.2' and protocol = 'ssh' where name = 'sga8' **AFTER** update sample_table set ip= '1.1.1.2' , protocol = 'ssh' where name = 'sga8'
Error: ER_CON_COUNT_ERROR: Too many connections (참고: https://okky.kr/article/527331) 해당 링크에 의하면 3가지의 방법을 사용하여 문제를 해결할 수 있다고 함. 1. max connection세팅 보다 많은 request가 발생하는경우 - 해결책 : max connection을 늘려서 해결 - Linux 환경에서는 구글링하면 쉽게 방법을 찾을 수 있음. - Windows 환경 해결책 1. cmd - "services.msc" 입력하여 MySQL 서비스를 찾음. ( 버전에 따라 다르지만, MySQL57 이런 식으로 되어 있음) 2. MySQL 서비스를 찾은 후, 실행 파일 경로를 분석함. ( "실행 파일 경로" --defaults-file=..
[MariaDB] sudo apt-get purge mariadb-server sudo apt-get purge mariadb-common [공용작업] sudo rm -rf /var/log/mysql sudo rm -rf /var/log/mysql.* sudo rm -rf /var/lib/mysql sudo rm -rf /etc/mysql 출처: http://elfinlas.tistory.com/367 [MHLab Blog]
MySQL 로그인 후, DB connection 하기 전에 진행해야 함. 1. SET @tables = NULL;2. SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_shcema.tables WHERE table_schema = 'DB_NAME'; -- DB_NAME : 실제 DB 명 입력3. SET @tables = CONCAT('DROP TABLE ', @tables);4. PREPARE stmt FROM @tables;5. SET foreign_key_checks = 0; -- foreign key 묶여서 삭제 안될 때 option5. EXECUTE stmt;6. DEALLOCATE PREPARE stm..