timezone

DataBase/Mysql 2020. 8. 28. 11:09

SET GLOBAL time_zone='Asia/Seoul';

SET time_zone='Asia/Seoul';

Posted by 철냄비짱
,

Show variables like"c%";

 

ALTER TABLE cms_account converttocharset utf8;

ALTER DATABASE sigongweb_db charset utf8;

Posted by 철냄비짱
,

max_allowed_packet

DataBase/Mysql 2020. 8. 28. 11:06

SET GLOBAL max_allowed_packet = 1024 * 1024 * 16;

SET SESSION max_allowed_packet = 1024 * 1024 * 16;

Posted by 철냄비짱
,

mysql 에는 데이터를 암호화, 복호화하는 AES_ENCRYPT, AES_DECRYPT 함수가 있습니다. 이 암호화는 128비트 길이로 인코딩되어 저장됩니다. 그러나 소스를 수정해서 256비트까지 확장시킬수 있다고 합니다.

 

AES_ENCRYPT 는 문자열을 암호화하고, 바이너리 문자열을 반환하지만, AES_DECRYPT 는 암호화된 문자열을 복호화합니다. AES_DECRYPT 는 유효하지 않은 데이터는 padding을 감지하고, NULL을 반환합니다.

 

 

 # "암호화 키"는 임의의 값이 올 수 있으며, "문자열"은 암호화하고자 하는 값이 됩니다.



 # AES_ENCRYPT 암호화

  INSERT INTO 테이블명 VALUES (HEX(AES_ENCRYPT('문자열', '암호화 키')));



 # AES_DECRYPT 복호화

  SELECT AES_DECRYPT(UNHEX(필드명), '암호화 키') FROM 테이블명;

예제 (ex #1

 

 # AES_ENCRYPT 암호화

 INSERT INTO tbname VALUE (HEX(AES_ENCRYPT('123456','가나다라')));

 // 결과: 5A33E11DC0B638E4E5E74EBD52F55E3D



 # AES_DECRYPT 복호화

 SELECT AES_DECRYPT(UNHEX(필드명), '가나다라') FROM tbname;

출처: <https://blog.habonyphp.com/213>

 

 

 

DB 속도 + 검색 문제로 상기기능 실제적용 실패

Posted by 철냄비짱
,

MySQL 기간검색

DataBase/Mysql 2020. 4. 11. 19:12
select * from music 

where

 (type='song' or type='album')

 and 

created_date > DATE_ADD(now(), INTERVAL -1 hour);


 


 

music 테이블에서 type이 song 또는 album 인 데이터가 지난 1시간 동안 얼마나 들어왔는지 검색


 

-1~ -24 까지 하면 최근 한 시간 부터 24시간까지 검색이 가능


 

이런 식으로 끝에

-1 hour  최근 한 시간

-1 day 최근 하루

-1 month 최근 한달


 


 

 select * from music

 where 

created_date between '2013-10-10' and '2013-10-14';

 

10일부터 14일까지 검색

Posted by 철냄비짱
,

로컬개발 후 서버 적용을 지키기 위해

데이터베이스 덤프와 밀어넣는 작업을 자주 한다.

 

MySQL Error 2006 : MySQL server has gone away

상기 에러는 대용량 작업이 패킷사이즈보다 커서 생기는 에러.

 

 

set GLOBAL max_allowed_packet = 1024 * 1024 * 64;
set SESSION max_allowed_packet = 1024 * 1024 * 64; 

 

 

Posted by 철냄비짱
,

1. my.cnf 파일 내용을 아래와 같이 수정한다.(Mysql, MariaDB 설정 파일)


명령어 : vi /etc/my.cnf [엔터]


[client]

default-character-set = utf8


[mysqld]

init_connect = SET collation_connection = utf8_general_ci

init_connect = SET NAMES utf8

character-set-server = utf8

collation-server = utf8_general_ci


[mysqldump]

default-character-set = utf8


[mysql]

default-character-set = utf8


2. 위 내용을 추가 한 후, my.cnf 파일을 저장 한다.

3. 내용을 추가 한 뒤, 설정한 내용을 적용 하기 위해 mysql을 재시작 한다.

   - 명령어 :  service mysqld restart 또는 /etc/init.d/mysql restart

                   (MariaDB도 Mysql 명령과 동일 함.)

4. DB에 접속 하여 정상적으로 적용 되었는지 확인 한다.

   - 명령어 :  mysql -u root -p [엔터]


> show variables like 'c%';

+--------------------------+-----------------------------------------+

| Variable_name            | Value                                   |

+--------------------------+-----------------------------------------+

| character_set_client     | utf8                                    |

| character_set_connection | utf8                                    |

| character_set_database   | utf8                                    |

| character_set_filesystem | binary                                  |

| character_set_results    | utf8                                    |

| character_set_server     | utf8                                    |

| character_set_system     | utf8                                    |

| character_sets_dir       | /usr/local/server/mysql/share/charsets/ |

| collation_connection     | utf8_general_ci                         |

| collation_database       | utf8_general_ci                         |

| collation_server         | utf8_general_ci                         |

| completion_type          | NO_CHAIN                                |

| concurrent_insert        | AUTO                                    |

| connect_timeout          | 10                                      |

+--------------------------+-----------------------------------------

Posted by 철냄비짱
,

Groupby

예약어가 무조건 전체 그룹으로 묶여야만 하는 설정 해제

 

[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Posted by 철냄비짱
,

NHN DeView 2009 행사에서 Cubird DBMS 에 관해 정보수집!! 

아직 실력은 초보 마인드는 노후대비 개발자인 나는 국산 DBMS 라는 부분만 끌렸는데

모든 소스가 공개된 DBMS 라는 것에 놀랐다. (그게 돈이 되나????)

또한 공개소스는 언제나 문제시 되는 A/S도 지원을 하고 있다는 것에 조금더 놀란다.

A/S란 서비스까지 진행을 하게 되면 인력도 필요하단 이야기인데...

파견장소에서 처음 Cubrid를 접하고 나서 신기하게 느끼며 참 많은 생각을 하게 되었는데.

오픈소스로 공부를 해봐야 겠다는 생각이 많이 든다.

좀 더 다양한 시각과 다양한 접근방법에 두려움을 느끼는 나에게

매력있고 유익한 시간이었다.



이 넓은 조선땅의 모든 개발자들  힘냅시다~!!!

Posted by 철냄비짱
,


1. SYS 계정으로 로그인 해서 (첫번째 레드박스)

2. Schema Browser 실행.

3. Users Tab 이동

4. Create User 버튼 클릭 (두번째 레드박스)

5. 계정명, 패스워드, 기타 권한 부여. (세번째 레드박스)



※ 권한부여 방식은 모든 권한들에서 체크박스 형태로 존재. 기존의 계정의 권한을 복사해 오는 기능이 있어 개발자 계정을 다수 생성할 때 편리함.
Posted by 철냄비짱
,