service 명령을 사용하여 mysql을 시작하고 중지하는 방법 소개

不言
풀어 주다: 2019-03-22 11:26:25
앞으로
7323명이 탐색했습니다.

이 글에서는 서비스 명령어를 사용하여 mysql을 시작하고 중지하는 방법을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

mysql을 설치하고 나서 매번 시작하고 종료하는 것이 매우 번거롭습니다. 가끔 온라인에서 검색해 보았는데 모두가 서비스를 관리하기 위해 사용하는 것을 볼 수 있습니다. . 모든 사람이 이 방법을 사용하는 것이 좋습니다.

mysql 서비스 시작 및 중지

# 启动
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/tmp/mysql.sock
# 停止
kill `cat /usr/local/mysql/var/mysqld.pid`
로그인 후 복사

이렇게 시작하고 중지하려면 mysql의 경로와 pid의 저장 위치를 ​​기억해야 하므로 더 번거롭습니다.

service 시스템 서비스 관리

service 명령은 시작, 중지, 다시 시작, 상태 등과 같은 시스템 서비스를 관리하는 데 사용됩니다. 서비스 명령 자체는 작업을 완료하기 위해 스크립트를 편리하게 호출하는 데 사용되는 쉘 스크립트입니다. /etc/init.d/ 디렉토리에서 지정된 서비스 스크립트를 검색합니다.

관련 명령은 다음과 같습니다:

chkconfig: 서비스의 실행 수준을 보고 설정하는 데 사용됩니다.

ntsysv: 자체 시작을 설정하는 데 사용됩니다. 서비스

service는 지정된 서비스(System V 초기 스크립트라고 함)를 실행하고 두 개의 환경 변수 LANG 및 TERM만 유지하며 현재 경로를 /로 설정합니다. 서비스 스크립트를 서비스별로 관리하려면 최소한 시작 및 중지 명령을 지원하고 스크립트를 /etc/init.d/ 디렉터리에 저장해야 합니다.

서비스 사용 방법

## 命令格式
Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]

# 查看指定服务的命令行使用帮助
service <service>
## mysqld 举例
$ service mysqld
Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]

# 启动、停止、重启指定服务
service <service> start|stop|restart
## mysqld举例restart,即先执行stop再执行start命令
$ service mysqld restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]

# 显示指定服务的状态
$ service mysqld status
MySQL running (27390)                                      [  OK  ]

# 显示所有服务的状态
service --status-all

# 查看系统服务列表,以及每个服务的运行级别
chkconfig --list

# 设置指定服务开机时是否自动启动
chkconfig <service> on|off

# 以全屏幕文本界面设置服务开机时是否自动启动
# 必须以root启动,空格切换状态,tab切换按钮,上下鼠标移动光标
ntsysv
로그인 후 복사

mysqld 예제를 사용하는 것 외에도 호스트 이름, IP 주소 및 기타 정보를 수정할 때 네트워크를 자주 다시 시작해야 합니다. 이제 다음을 호출할 수 있습니다.

service network status|restart
로그인 후 복사

서비스를 사용하여 mysqld 서비스 관리

기본 지식을 이해했으며 이제 변환을 시작할 수 있습니다. 설치 디렉토리 문서의 mysql.server.

$ locate mysql.server
/usr/local/mysql/support-files/mysql.server
로그인 후 복사

이 파일은 설치 중에 초기화됩니다. 실제로는 다양한 기능을 수행하기 위해 다양한 매개변수 입력을 지원하는 스크립트 파일입니다.

# 根据输入的命令执行不同的脚本,首先判断是否为start
case "$mode" in
  'start')
    # Start daemon

    # Safeguard (relative paths, core dumps..)
    cd $basedir

    echo $echo_n "Starting MySQL"
    # 查看该bin/mysqld_safe命令是否存在,如果不存在,就直接报错:找不到
    if test -x $bindir/mysqld_safe
    then
      # Give extra arguments to mysqld with the my.cnf file. This script
      # may be overwritten at next upgrade.
      # 直接执行mysqld_safe命令,并传入参数,然后创建pid文件
      $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

      # Make lock for RedHat / SuSE
      if test -w "$lockdir"
      then
        touch "$lock_file_path"
      fi

      exit $return_value
    else
      log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
    fi
    ;;

  'stop')
로그인 후 복사

그런 다음 복사하세요. /tmp/init.d/ 디렉터리에 추가합니다:

cp /usr/local/mysql/support-files/mysql.server /tmp/init.d/mysqld
로그인 후 복사

이 시점에서 서비스를 직접 호출하여 시작할 수 있습니다:

service mysqld start
로그인 후 복사

일부 발생한 문제#🎜 🎜#

위의 이론은 매우 간단하지만 시작 과정에서 여전히 몇 가지 문제가 발생했습니다. 문제를 해결하는 가장 쉬운 방법은 Google+에서 로그 파일을 보는 것입니다. 빨리.

구성 파일이 무시됩니다

시작 시 오류 메시지를 직접 확인하세요.

$ service mysqld start
Warning: World-writable config file '/etc/my.cnf' is ignored
Starting MySQL.Warning: World-writable config file '/etc/my.cnf' is ignored
로그인 후 복사
오류 원인을 직접 확인하세요. 전역적으로 쓰기 가능한 구성 파일은 무시됩니다. 이 오류는 구성 파일은 모든 사용자가 수정할 수 있으므로 악의적인 변조의 가능성이 있으므로 이 파일의 구성이 도입되지 않고 무시된다는 의미입니다.

해결책은 파일을 사용자 및 사용자 그룹이 읽고 쓸 수 있도록 변경하고 다른 사용자만 읽고 쓸 수 없도록 변경하는 것입니다.

chmod 664 /etc/my.cnf
로그인 후 복사
PID 파일은 생성됨

#🎜 🎜#오류 메시지를 직접 살펴보세요:

$ service mysqld start
Starting MySQL.The server quit without updating PID file (/usr/var/mysql/var/mysqld.pid).
로그인 후 복사

오류 원인이 표시되고

파일을 시작합니다.

MySQL时意外退出,因为没有更新PID이때 일부 사람들은 이해하지 못할 수도 있습니다. 오류 로그를 직접 살펴보겠습니다.

2019-03-21 22:29:45 32896 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/usr/var/mysql/var/mysqld.pid' (Errcode: 2 - No such file or directory)
2019-03-21 22:29:45 32896 [ERROR] Can't start server: can't create PID file: No such file or directory
로그인 후 복사

이 로그에는 이 mysqld가 불가능하다는 것이 명확하게 나와 있습니다. pid 파일을 생성했는데, 권한 문제가 있거나 경로가 존재하지 않는 문제가 있었습니다. 나중에 경로가 잘못 쓰여 있는 것을 발견하여 올바른 경로로 변경해 주면 됩니다.

오류 로그 경로 설정:

$ vim my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/var/mysql/var/mysqld.pid
log-error = /user/local/mysql/log/mysql.err
로그인 후 복사

log 명령이 중단됨

위의 문제는 계속 실행되었으며 여전히 해결되었습니다. 정보는 같지만 로그 파일이 다릅니다.

$ service mysqld start
Starting MySQL.The server quit without updating PID file (/usr/var/mysql/var/mysqld.pid).

# 日志文件
2019-03-21 22:37:33 0 [ERROR] /usr/local/mysql/bin/mysqld: ambiguous option '--log=/usr/local/mysql/log/mysql.log' (log-bin, log_slave_updates)
2019-03-21 22:37:33 0 [ERROR] Aborting
로그인 후 복사

로그 오류 메시지 프롬프트를 찾았습니다. 모호한 옵션 --log, 명확하지 않습니다. Google에서 이유를 확인할 수 있습니다. --log 명령에는 오랫동안 버려졌으며 이제는 --general-log가 대신 사용됩니다. my.cnf 구성 파일을 수정하면 됩니다.

$ vim my.cnf
[mysqld]
general-log = /user/local/mysql/log/mysql.log
로그인 후 복사

Start 성공적으로

위의 문제를 해결한 후 마침내 성공적으로 시작할 수 있습니다. mysqld 서비스 시작, 중지 및 다시 로드:

$ service mysqld start
Starting MySQL.                                            [  OK  ]
로그인 후 복사

Summary

서비스 서비스 관리 도구를 사용하면 애플리케이션을 빠르게 시작하고 중지하는 데 도움이 됩니다. MySQL을 시작하는 과정에서 로그 파일 보기와 Google 검색을 마스터하는 것이 우리에게 가장 큰 도움이 됩니다.

이 기사는 여기서 끝났습니다. 더 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의

MySQL 튜토리얼 동영상

칼럼을 주목하세요!

위 내용은 service 명령을 사용하여 mysql을 시작하고 중지하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!