본문 바로가기
반응형

서버/Mysql28

[Mysql] Restore Workspace 에러 해결 Mysql Workbench라는 프로그램으로 Database를 관리하다가 Restore Workpace 라는 에러 문구가 갑자기 발생했습니다 문구가 떴지만 Ignore을 누르자니 잘못될 것 같고 ( 버튼 한번 잘못 눌러 날아간 경험 많아요.. ) 특히 DB단은 민감한 부분이라 Cancel을 눌렀는데 또 접속은 되어있습니다 그래도 찝찝한 마음에 해당 에러 문구 내용을 찾아보니 원인은 다음과 같습니다 Mysql Workbench를 이용해서 작업을 하는 도중에 의도치 않은 종료로 인해서 발생한 에러 즉 DB자체의 문제가 아니라 작업을 하던 컴퓨터에서 AppData가 꼬여서 발생한 문제이기 때문에 일단은 1차적으로 안도를 하고 문제가 된 부분을 해결하기 위해 다음과 같이 작업해주었습니다 첫 번째로 다음 경로를 .. 2022. 10. 27.
[Mysql] Attempted to open a previously opened tablespace 에러 해결 서버 DB를 사용하는 도중에 어느 날 갑자기 Mysql이 다운되었습니다 systemctl status mysql 명령을 통해 상태를 확인해보니 다음과 같은 에러가 발생했습니다 ● mariadb.service - MariaDB 10.1.48 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: activating (auto-restart) (Result: signal) since Mon 2022-07-18 1.. 2022. 7. 18.
mysql 연결 해제 방지 ping 체크 리눅스에서 mysql을 사용할 때에는 한 가지 주의해야 할 점이 있는데 mysql에서는 일정시간동안 접근이 없으면 자동으로 connection을 해제합니다 이는 mysql 기능으로 불필요한 리소스를 방지하기 위한 것으로 보입니다 그래서 간혹가다가 서버와의 통신이 없는 리눅스 Application의 경우에는 mysql이 초기에 연결되어 있었지만 오랜 시간 접근하지 않은 상태로 인하여 connection이 해제되고 결국 Application에서는 mysql에 접근을 할 수 없는 상황에 직면합니다 이렇게 접근하지 않을 경우 해제되는 시간은 Default 6시간으로 되어 있기 때문에 mysql을 활용한 Application 개발 시에는 이 부분을 염두에 두어야 합니다 이러한 문제를 해결 할 수 있는 가장 간단한.. 2022. 6. 1.
Mysql Slow Query log (부하 관리) Mysql Database를 운영하다 보면 여러 가지 이유로 Application이 종료되거나 DB 처리가 되지않아서 에러가 생기는 경우가 많습니다 이러한 경우 문제가 되는 DB상의 처리 부분을 찾아야 하는데 유용하게 로그를 통해 부하가 걸리는 쿼리를 찾는 기능이 Slow Query Log 입니다 DB에 접근해서 쿼리문을 실행시킴에 있어서 어느 부분에서 지연이 발생하는지 로그를 통해 파악할 수 있으므로 해당 부분을 수정함으로써 DB의 부하를 관리하고 그로 인해 생길 수 있는 에러에 대비할 수 있습니다 대부분의 쿼리에서 어느 정도 지연은 문제가 되지 않으나 10초 이상의 지연은 발생하기 시작하면 연속적인 지연 문제로 커질 수 있기에 대부분 5~10초 이상의 Slow 쿼리를 찾아서 대비를 하는 편입니다 vi.. 2022. 5. 11.
Insert ignore 중복 레코드 관리 Mysql Database를 인수인계받아 데이터를 입력하는 도중 primary key로 구성됬지만 로그를 남기는 이상한 구조를 발견했습니다 Serial Sensor_name Date Mvalue Cvalue Alarm PK PK PK 해당 테이블은 Serial, Sensor_name, Date 세 개의 PK로 구성되어 있으며 실시간으로 들어오는 Sensor Value를 기록하는 담당입니다. 여기에서 문제가 되는점은 기존 레코드에서 다음과 같이 insert 하면 Primary Key에 의해 insert 구문이 실행되지 않는다는 점입니다. insert into Table(Serial, Sensor_name, Date, Mvalue, Cvalue, Alarm) values('aa123', 'Temp', '20.. 2022. 5. 10.
Mysql 패스워드 암호화 및 복호화 서버를 설계하면서 로그인 및 기타 패스워드를 필요로 하는 경우 Mysql에 패스워드를 저장해야 하는데 이때 그냥 저장할 수도 있지만 이럴 경우 보안에 너무도 취약하고 비밀번호 노출의 위험이 있습니다. Mysql에서는 이러한 패스워드를 암호화하여 저장하는 방식을 몇 가지 제공합니다. 먼저 사람들이 가장 많이 알고있는 방법으로는 password 함수를 사용하는 것입니다. password 함수 password 함수는 단순하게 비밀번호를 인자로 넘기기만 하면 자동적으로 mysql에서 암호화 코드로 변경하여 저장해 주는 기능입니다. PASSWORD(str) 사용하기 간단하지만 그만큼 많이 알려졌고 보안에 취약하다는 이유로 요즘 들어서는 많이 사용하지 않는 추세입니다. 그나마 사용한다고 하면 신규로 설계하는 서버가.. 2022. 4. 12.
반응형