3. 서버 중지
서버를 수동으로 시작하려면 MySQLadmin을 사용하세요.
%mysqladmin shutdown
서버를 자동으로 중지하려면 특별한 작업을 수행할 필요가 없습니다. . BSD 시스템은 일반적으로 올바르게 응답하거나 무례하게 종료되는 프로세스에 TERM 신호를 보내 서비스를 중지합니다. mysqld는 이 신호를 받으면 종료하여 응답합니다. mysql.server를 사용하여 서버를 시작하는 System V 스타일 시스템의 경우, 물론 mysql.server가 설치되어 있다고 가정하면 중지 프로세스는 중지 매개변수와 함께 스크립트를 호출하여 서버에 종료하라고 지시합니다.
4. 서버에 연결할 수 없는 경우 서버 제어권을 다시 얻는 방법
경우에 따라 서버에 연결할 수 없어 수동으로 서버를 다시 시작하는 경우도 있습니다. 물론 이것은 약간의 모순이다. 일반적으로 서버에 연결하여 수동으로 끄는데 어떻게 이런 일이 발생합니까?
둘째, localhost에 대한 연결은 일반적으로 Unix 도메인 소켓 파일(보통 /tmp/mysql.sock)을 통해 수행됩니다. 소켓 파일이 삭제되면 로컬 클라이언트가 연결할 수 없습니다. 이는 시스템이 /tmp에서 임시 파일을 삭제하는 cron 작업을 실행할 때 발생할 수 있습니다.
소켓 파일을 잃어버려서 연결이 되지 않는 경우, 서버를 재시작하여 간단히 다시 생성할 수 있습니다. 서버가 시작 시 이를 다시 생성하기 때문입니다. 여기서 트릭은 소켓이 없어져서 연결을 설정할 수 없다는 것입니다. TCP/IP 연결을 설정해야 합니다. 예를 들어 서버 호스트가pit.snake.net인 경우 다음과 같이 연결할 수 있습니다.
% mysqladmin -p -u root -hpit.snake.net shutdown
cron 작업으로 소켓 파일이 삭제된 경우 cron 작업을 수정하거나 a를 사용하지 않으면 문제가 다시 발생합니다. 다른 소켓 소켓 파일을 사용하는 경우 전역 옵션 파일을 사용하여 다른 소켓을 지정할 수 있습니다. 예를 들어 데이터 디렉터리가 /usr/local/var인 경우 /etc/my.cnf에 다음 줄을 추가하여 소켓을 변경할 수 있습니다. 파일을 다음 위치로 이동하세요:
[mysqld]
소켓=/usr/local/var/mysql.sock
[클라이언트]
소켓=/usr/local/var/ mysql.sock
서버와 클라이언트 모두 동일한 소켓 파일을 사용하도록 경로 이름을 지정합니다. 서버에 대한 경로만 설정하는 경우 클라이언트는 여전히 원래 위치에서 소켓을 실행하고 변경 후 서버를 다시 시작하여 새 위치에 소켓을 생성할 것으로 예상합니다.
루트 비밀번호를 잊어버렸거나 생각했던 것과 다른 값으로 설정하여 연결할 수 없고, 서버 제어권을 다시 얻어야 하는 경우, 비밀번호를 다시 설정할 수 있습니다.
서버 중단
서버 호스트에 루트로 로그인한 경우 kill 명령을 사용하여 서버를 종료할 수 있습니다. ps 명령을 사용하거나 서버의 PID 파일(일반적으로 데이터 디렉터리에 있음)을 찾아 서버 프로세스 ID를 찾을 수 있습니다.
먼저 서버에 TERM 신호를 보내는 일반 종료를 시도하여 정상적인 종료로 응답하는지 확인하는 것이 가장 좋습니다. 이렇게 하면 테이블과 로그가 올바르게 지워집니다. 서버가 정상적인 종료 신호를 차단하고 응답하지 않는 경우 kill -9를 사용하여 서버를 강제 종료할 수 있습니다. 플러시되지 않은 수정 사항이 있을 수 있고 테이블이 일관되지 않은 상태로 남을 위험이 있으므로 이는 최후의 수단입니다.
kill -9로 서버를 종료하는 경우 서버를 시작하기 전에 반드시 myisamchk 및 isamchk로 테이블을 확인하세요.
서버를 다시 시작하려면 --skip-grant-table 옵션을 사용하세요.
이는 연결을 인증하기 위해 인증 테이블을 사용하지 않도록 서버에 지시하므로 비밀번호 없이 루트로 연결할 수 있습니다. 연결 후 루트 비밀번호를 변경하세요.
mysqladmin 플러시 권한을 사용하여 서버에 인증 테이블을 다시 사용하도록 지시하세요.
mysqladmin 버전이 플래시 권한을 인식하지 못하는 경우 다시 로드해 보세요.
5. 여러 서버 실행
대부분은 지정된 시스템에서 단일 MySQL 서버를 실행하지만 여러 서버를 실행하는 것이 유용한 상황이 많이 있습니다.
프로덕션 서버를 실행 중인 상태에서 새 버전의 서버를 테스트할 수 있습니다. 이 경우에는 다른 서버 코드를 실행하게 됩니다.
운영 체제는 일반적으로 프로세스당 열린 파일 핸들 수를 제한합니다. 시스템에서 이 제한을 늘리는 데 어려움이 있는 경우 여러 서버를 실행하는 것이 제한을 해결하는 한 가지 방법입니다. 이 경우 통합 서버의 여러 인스턴스를 실행 중일 수 있습니다.
ISP는 별도의 서버가 필요한 경우 고객에게 자체 MySQL 설치를 제공하는 경우가 많습니다. 이 경우, 서로 다른 고객이 서로 다른 버전의 MySQL을 원하는 경우 동일한 버전 또는 서로 다른 버전의 여러 인스턴스를 실행할 수 있습니다.
당연히 여러 대의 서버를 운영하는 것은 단 하나의 서버를 운영하는 것보다 더 복잡합니다. 여러 버전을 설치하면 모든 버전을 같은 위치에 설치할 수 없습니다. 서버가 실행 중일 때 특정 매개변수는 각 서버마다 고유해야 하거나 고유할 가능성이 높습니다. 여기에는 서버가 설치된 위치, 해당 데이터 디렉터리의 경로 이름, 서버를 실행하는 데 사용되는 TCP/IP 포트 및 UNIX 도메인 소켓 경로 이름이 포함됩니다. 서버의 UNIX 계정(더 이상 동일한 계정으로 모든 서버를 실행하지 않는 경우) 여러 서버를 실행하기로 결정한 경우 사용하지 않도록 매개변수에 주의를 기울이십시오.
위 내용은 MySQL 서비스 2를 시작하고 중지하는 방법을 가르쳐주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!