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.