MySQL(MariaDB) 연결이 너무 많아 닫을 수 없습니까?

MySQL(MariaDB) 연결이 너무 많아 닫을 수 없습니까?

저는 최근에 Minecraft 서버용 mysql 서버를 실행하기 위한 첫 번째 VPS를 얻었고 MariaDB를 설정했으며 현재 기본 설정을 사용하고 있습니다. 어젯밤에 플러그인(GriefPrevention v7.8)을 사용하여 원격으로 사용할 수 있는지 확인하고 제대로 작동하는지 테스트했지만 htop이제 수십 개의 mysql 프로세스가 있는지 확인하세요! 방금 이 VPS mysql 서버로 플러그인을 간단히 테스트했습니다. 열려 있는 연결이 닫히지 않았나요?

mysql을 다시 시작해 보았지만 멈추지 않았습니다. 또한 정보를 웹 UI로 가져오는 VPS 상자에서 실행되는 웹 인터페이스가 있지만 VPS에 URL을 게시하지 않았으므로 로드되지 않아야 합니다.

  1. 이러한 문제의 원인을 어떻게 확인할 수 있나요?
  2. 이 속도로 가면 그들은 모두 서버를 구축하고 충돌시킬 것이라고 생각합니까?
  3. 이를 어떻게 제한할 수 있나요?
  4. 데이터베이스를 사용하기 위해 푸시할 때 원격으로 데이터베이스에 액세스하려면 각 플러그인에 대해 새 사용자를 생성해야 합니까?
  5. 플러그인을 사용하지 않고 mysql을 다시 시작했는데도 이러한 "연결"이 계속 열려 있는 이유는 무엇입니까?

mysql VPS 트리 HTOP 미리보기

답변1

문제가 없어야합니다. 이 top명령 과 달리 htop기본적으로 모든 스레드와 프로세스가 나열됩니다. 따라서 여러분이 보는 모든 "mysqld"는 프로세스가 아니라 스레드입니다.

이 작업을 수행:

출력에 표시되는 일부 mysql 항목의 PID를 가져 htop와서 ps.

예를 들어:

ps -ef | grep 14082

여기서 grep은 mysql 프로세스를 반환하지 않을 수 있습니다. 이제 이것을 시도해 보세요:

ps -eLf | grep 14082

이제 grep이 실제로 프로세스가 아니라 스레드인 mysql 프로세스를 반환하는 것을 볼 수 있습니다.

이 옵션은 또한 모든 경량 프로세스(스레드)가 나열되도록 L요청합니다 . ps따라서 grep은 가벼운 프로세스 또는 스레드이기 때문에 가지고 있는 TID를 찾았습니다. top출력을 확인하면 하나 또는 두 개의 MySQL 프로세스만 표시될 수 있습니다.

ps -ef또한 MySQL 프로세스의 PID는 출력에서 ​​얻어지며 pstree해당 프로세스에서 생성된 모든 스레드를 보는 데 사용됩니다.

pstree -p <PIDofMySQL>

관련 정보