MySQL을 다시 시작하는 방법


32

MySQL 5.1.54를 실행 중이며 명령을 사용하여 터미널을 통해 Ubuntu에 설치했습니다.

sudo apt-get install mysql-server

my.cnf파일을 변경하고 데이터베이스를 중지했다가 시작하고 싶습니다. 나는 다음을 시도했다

sudo /usr/bin/mysqld_safe stop

내 질문은 데이터베이스가 중지되었음을 어떻게 알 수 있습니까? 위의 명령을 실행하면

sudo mysql -uuser -ppassword

데이터베이스에 바로 다시 로그인 할 수 있습니다. 데이터베이스가 실행되고 있지 않다고 말하면 안됩니까?

어떤 제안? 고맙습니다.

편집 : 나는 또한 시도했다

mysqladmin -uuser -ppassword shutdown

그리고

ps aux | grep mysql

나는 다음과 같은 결과를 얻는다

david    12093  0.0  0.0   6052  1276 pts/1    T    May10   0:00 nano /etc/mysql/my.cnf
root     12267  0.0  0.0   6396  1436 pts/1    T    May10   0:00 sudo nano /etc/mysql/my.cnf
root     12269  0.0  0.0   6052  1388 pts/1    T    May10   0:00 nano /etc/mysql/my.cnf
mysql    15371  0.3  0.1  55344  9088 ?        Ssl  10:53   0:00 /usr/sbin/mysqld
david    15512  0.0  0.0   5304   864 pts/1    R+   10:54   0:00 grep --color=auto mysql

위의 출력은 MySQL이 종료되었음을 의미합니까? 내가 실행 mysql -uuser -ppassword하면 여전히 mysql에 로그인 할 수 있습니다.

어떤 제안?

답변:


64

에있는 Sys-V init 스크립트를 실제로 사용해야합니다 /etc/init.d.

스타트:

sudo /etc/init.d/mysql start

중지:

sudo /etc/init.d/mysql stop

구성 재시작 / 다시로드 :

sudo /etc/init.d/mysql restart

실행 상태 확인 :

sudo /etc/init.d/mysql status

1
나는 그것을 시도하고`/etc/init.d를 통해 init 스크립트를 호출하는 대신 service (8) 유틸리티를 사용하십시오 (예 : service mysql status)
David

3
@David 이것은 정답입니다. serviceinit.d 스크립트를 찾는 작은 프로그램입니다. "오류 메시지"가 발생하더라도 sudo /etc/init.d/mysql start/stop여전히 작업을 수행했습니다. 사용 service은 시작 스크립트를 사용하는 "새로운 방법"입니다. 를 사용하려면 service터미널에서 이것을 실행하십시오 : service mysql stop또는 시작하십시오.
BloodPhilia

@BloodPhilia, 시도 service mysql stop하고 다음 메시지가 나타납니다 Rejected send message, 1 matched rules; type="method_call", sender=":1.72" (uid=1000 pid=17673 comm="stop mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")). 어떤 아이디어?
David

2
@David sudo와 함께 사용해 보셨습니까? 처럼 sudo service mysql stop?
BloodPhilia

1
@BloodPhilia. 당신은 제안했다. 설명을 주셔서 감사합니다.
David

13

우분투 컴퓨터에서 두 명령을 모두 사용하여 mysql을 다시 시작할 수 있습니다.

 1. sudo /etc/init.d/mysql restart

 2. # service mysql restart

데비안에서도. 그러나 첫 번째 명령으로 모든 localhost것이 작동하지 않았습니다. 로 교체해야합니다 127.0.0.1. 후자는 그 문제가 없었습니다.
MA-Maddin

3

mysql을 종료하려면 다음을 실행하십시오.

mysqladmin -uuser -ppassword shutdown

여기서 사용자 및 비밀번호는 적절한 SHUTDOWN 권한이 있는 사용자의 비밀번호입니다.

종료되었는지 확인하려면 다음을 수행하십시오.

ps aux | grep mysql

'grep'명령 이외의 프로세스가 표시되면 종료되지 않은 것입니다.


나는 당신의 지시에 따라 결과를 얻었습니다. 귀하의 절차를 사용하여 질문을 편집했습니다. 내가 올바른 길을 가고 있는지 말해 줄 수 있습니까?
David

종료가 멈춘 다음 자동으로 mysql을 시작한다고 생각합니다. mysql을 영구적으로 중지하는 명령이 있습니까?
David

@David 자동 재시작은 mysqladmin shutdown의 동작이 아닙니다. 아마도 우분투의 /etc/init.d/mysql 동작? 잘 모르겠습니다. @gerryk의 대답은 운영 체제에 맞는 대답이라고 생각합니다.
DTest

0

kill -9 "PID"명령을 사용하여 ps -a 또는 top 명령을 실행할 수있는 MySQL 프로세스 ID (PID)를 사용할 수 있습니다. 그런 다음 ./"main process "를 호출하여 다시 시작할 수 있습니다.


안녕하세요, 커맨드 라인과 MySQL을 처음 사용했습니다. 터미널에 입력해야 할 내용을 정확하게 보여줄 수 있습니까?
David

5
kill -9는 프로세스 자체가 정리되지 않으므로 약간 무례합니다.
gerryk

1
나는 이것을하지 않는 것이 좋습니다. 갑자기 중지 될 때 MySQL이 수행하는 작업에 따라 불행한 일부 데이터베이스로 다시 시작할 수 있습니다.
Xenoactive

0

리눅스 박스에서 서비스를 관리하기 위해 기본적으로 사용 가능한 systemctl 유틸리티. 서비스를 시작, 재시작 및 중지하는 데 사용할 수 있습니다. 사용할 수있는 다른 옵션이 있습니다. 결제 시스템

systemctl stop mysql
systemctl start mysql

이것이 도움이되는 이유에 대한 세부 사항을 추가하십시오. 설명이없는 답변은 사용하지 않는 것이 좋습니다.
kdb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.