[MySql] mysql에서 외부 프로그램 실행

2024. 1. 15. 06:26카테고리 없음

 

mysql을 통하여 외부프로그램을 실행시킬 수 있는 방법이 있다고 하여 찾아보았다. 

이벤트나 트리거시에 해당 사항을 처리해 볼 수 있을 것 같다. 리눅스 버전을 확인해 보고자 하였으나, 없는 것 같다. 

 

1. 실행 파일 실행시키기

>> SELECT sys_exec(" name.exe ");

 

위 쿼리를 통해 name.exe라는 실행 파일을 실행시킬 수 있습니다.

이때 실행 파일은 Mysql 설치 폴더 안의 data 폴더 안에 위치해야합니다.

아니면, 따로 실행 파일의 경로를 함께 입력해주어야 합니다.

 

>> SELECT sys_exec(" C:/file_box/name.exe ");

 

이런 식으로 말이죠.

 

sys_exec() 함수는 외부 파일의 실행 결과 코드를 반환하게 됩니다.

결과 코드가 0으로 출력되면 올바르게 실행한 것입니다.

기타 다른 숫자가 출력된다면, 오류가 발생한 것입니다.

실행 파일에 오류가 있을 수도 있고, 경로 안에 실행 파일이 없을 수도 있습니다.

따로 오류 코드를 보여주는 것은 아니니 주의하시기 바랍니다.

 

2. 파이썬 실행시키기

파이썬을 실행할 경우, 파이썬 설치 경로를 함께 입력해주어야 합니다.

>> SELECT sys_exec(" [파이썬 설치 경로/python.exe]  [실행하려는 파이썬 파일 경로/python.py] ");

이런식으로 입력해주시면 됩니다.

 

예시로서

>> SELECT sys_exec(" C:\Python\Python38-32\python.exe C;\program.py ");

이런식으로 실행할 수 있습니다.

 

https://github.com/sqlmapproject/sqlmap/issues/2965

 

The MySQL UDF shared library crashes MySQL on Windows · Issue #2965 · sqlmapproject/sqlmap

What's the problem (or question)? The sys_eval function in the 64-bit MySQL UDF DLL crashes MySQL 5.7.21 on Windows in certain circumstances. I've only tried a 64-bit version of MySQL and the 64-bi...

github.com

 

https://tech-diary.tistory.com/2

 

Mysql 에서 외부 프로그램 실행시키기

Execute external program on Mysql Mysql 혹은 MariaDB에서 외부 파일을 실행시키는 방법을 알아보았습니다. 기존 파이썬에서 DB를 연동하여 pymysql 라이브러리를 통해 데이터를 조작할 수 있었는데, 이번에는

tech-diary.tistory.com

 

 

반응형