MySQL 서버를 어떻게 시작 / 중지합니까?


211

일부 기사에서 mysql 서버를 올바르게 시작 및 중지하는 방법을 설명하려고했습니다.

이 링크를 찾았습니다 : Ubuntu 8.04에서 MySql 서버를 시작 / 중지하는 방법 | 아비의 블로깅 세계

이 명령을 실행했습니다.

/etc/init.d/mysql start 

하지만이 오류가 표시됩니다

ERROR 1045 (28000) Access denied for user....

이 명령을 시도한 후 :

sudo /etc/init.d/mysql start

비밀번호를 입력했는데 다시 같은 오류가 표시됩니다.

다음 명령 :

sudo /etc/init.d/mysql - root -p start

결과 :

ERROR 1049 (42000) Unknown database 'start'.

그리고이 명령을 실행할 때 :

sudo service mysql start

MySQL 서버 성공이 시작되었습니다. 시원한!

다른 명령에 어떤 문제가 있습니까? 왜 오류가 발생합니까?


3
사실 sudo를 사용하더라도 나에게는 효과가 없었지만 스크립트에서 다음 힌트를 찾았습니다. /etc/init.d를 통해 init 스크립트를 호출하는 대신 service (8)를 사용하면 괜찮습니다
Timofey

2
팀이 맞습니다. sudo service mysql start를 사용하십시오 .
Ed Manet

일반적으로 sudo -l을 사용하여 특정 시스템의 특정 사용자가 sudo로 수행 할 수있는 작업을 확인할 수 있습니다. (권한은 / etc / sudoers에 구성되어 있습니다.) 그러나이 특정 상황에서 도움이 될지 확실하지 않습니다. 편집 : 잠깐, 신경 쓰지 마십시오. 액세스 거부 오류는 MySQL 또는 sudo가 아닌 다른 것에서 오는 것처럼 보입니다.
David Winiecki

답변:


230

처음 두 명령은 루트로 실행되지 않았으므로 동작이 예상됩니다. mysql을 중지 / 시작하려면 루트 여야합니다.

하나:

sudo /etc/init.d/mysql start

작동해야합니다. 실제로 그것은 나를 위해 :

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

이미 실행 중이기 때문에 start 대신 restart를 사용했지만 그 효과는 동일합니다. 비밀번호를 올바르게 입력하셨습니까? :) 당신은 sudo 설정을 전혀 편집하지 않았습니까?

이 하나..

sudo /etc/init.d/mysql - root -p start

논쟁이 틀렸다. 있는 init.d 스크립트는 필요 start하거나 stop또는 restart- 한 단어가 무엇을 할 그것을 말하고. 당신이하려는 것처럼 당신은 그것을 여러 가지 주장을 줄 수 없습니다.

어쨌든, 짧은 대답은 실제로 일 해야하는 것이 좋습니다. service시간이 지남에 따라 모든 init.d 스크립트를 교체하므로 사용 습관을들이십시오 service. 링크 된 페이지는 3 살이므로 소금으로 찍어야합니다. :)


7
또한 sudo는 서비스 MySQL의 시작을 시도

2
start mysql나를 위해 일했습니다 (우분투 12.04.4).
Tim

3
sudo /etc/init.d/mysql restart나를 위해 MySQL을 다시 시작
Edward

6
방법에 대한 sudo systemctl start mysql우분투 16.04에 대한 최대?
Ankit Balyan 17

86

또한 "mysql"이 올바른 서비스 이름인지 다시 확인하는 데 도움이됩니다. 제 경우에는 그렇지 않았습니다. 나는 다음과 같은 응답을 계속 받았다 : mysql : 실행할 때 인식 할 수없는 서비스

service mysql status 

그런 다음 /etc/init.d를 확인하고 프로세스 이름을 나열한 mysqld라는 스크립트를 찾았습니다. mysqld 및 prog = mysqld

그럼 내가 했어

service mysqld status
service mysqld stop
service mysqld start 

그리고 그들은 모두 잘 작동했습니다.


4
mysql: unrecognized service
Green

7
적어도 13.10에서는 루트 권한으로 실행해야합니다. 예 : "sudo service mysql status".
Bryce

13
14.10를 들어 내가하지 MySQL은 "MySQL은"사용하는 데 필요한 D
redanimalwar

1
루트 권한없이 실행하면이라고 말합니다 unknown job: mysql. 약간 혼란 스럽습니다.
Blauhirn

Failed to start mysqld.service: Unit mysqld.service not found.
JCarlos

30

우분투 12.10 이상 :

MYSQL 시작 :

sudo start mysql

MYSQL 재시작 :

sudo restart mysql # The service must be running

MySQL 중지 :

sudo stop mysql # The service must be running

3
stop: Unknown job: mysql
Green

@ Green 나는 방금 이것을 시도했지만 (1 년 후) 여전히 작동합니다. 이것은 내 결과 mysql stop/waiting입니다. mysql이걸 막으려면 이미
Lucio

1
영웅, 당신은 내 생명을 구하고, mysqld는 오랫동안 내 컴퓨터 메모리를 차지했습니다. 나는 그것을 제거하기 위해 모든 종류의 방법을 시도했지만, 당신의 대답을 만날 때까지 모두 실패했습니다.
Zen

sudo: start: command not found
JCarlos

1
@JCarlos Doapt install upstart
Edward 17

9

사실, 우분투 컴퓨터에 mysql-workbench를 설치할 때 이상한 오류가 발생했습니다. 그 후이 명령을 사용하여 mysql 서비스를 시작하려고했습니다.

service mysql start

그래서 MySQL 서버가 설치되지 않은 솔루션을 얻었으므로 설치했으며 문제가 해결되었습니다. mysql-server를 설치하는 명령은 다음과 같습니다.

sudo apt-get install mysql-server

성공적으로 설치 한 후 다음과 같이 MySQL 서버를 시작하십시오.

service mysql start

4

Ubuntu64와 동일한 문제가 있었고 systemctl을 사용하지 않고 대신 다음과 같이 수정했습니다.

sudo service mysql restart

이 명령이 도움이 되길 바랍니다.


2

이것은 수동으로 빌드 된 mysql 서버에서 작동해야합니다.

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql

2

시스템에 MySQL을 설치 한 후 다음을 수행하십시오.

$ 서비스 MySQL 상태

서비스가 중단되면 다음과 같이하십시오.

$ 서비스 mysql 시작

그리고 내 서비스를 중지하기 위해 :

$ 서비스 mysql 중지


1
/etc/init.d/mysql startservice mysql start정확히 동일합니다.
Storm

1

나는 같은 문제에 부딪 쳤고 아래 명령에 따라 제거하고 다시 설치했습니다.

1) sudo apt-get --purge 제거 mysql-server mysql-common mysql-client

2) sudo apt 업데이트 및 sudo apt dist 업그레이드 및 sudo apt autoremove

3) sudo apt-get install -y mysql-server mysql-client


0

두 경우 모두를 다루는 작은 스크립트 [서버 실행 / 서버 실행 중] :

#!/bin/bash

service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
fi

0

우분투 18.04에서 소켓은 파일에 정의되어 있습니다

 /etc/mysql/mysql.conf.d/mysqld.cnf

 socket     = /var/run/mysqld/mysqld.sock

디렉토리가 없으므로 아래와 같이 수동으로 작성했습니다.

sudo mkdir -p /var/run/mysqld

mysql을 다시 시작하십시오. 그게 내 사건으로 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.