Eine erfahrene Person zeigt Ihnen, wie Sie ein professionelles und standardisiertes MySQL-Startskript entwickeln

Eine erfahrene Person zeigt Ihnen, wie Sie ein professionelles und standardisiertes MySQL-Startskript entwickeln

Jeder qualifizierte Linux-Betriebs- und Wartungsmitarbeiter sollte mit der Shell-Skriptprogrammierung vertraut sein oder sich damit auskennen, da die Shell-Skriptsprache die einfachste Sprache aller Programmiersprachen ist. Wenn Shell-Skripte nicht gut sind, kann dies bedeuten, dass der Betriebs- und Wartungsweg zu Ende sein kann, bevor er überhaupt begonnen hat. ——Ehemaliger Lehrer

#!/bin/bash
# chkconfig: 2345 64 36 #Automatischen Systemstart konfigurieren# Beschreibung: Eine sehr schnelle und zuverlässige SQL-Datenbank-Engine.
##############################################################
# Dateiname: mysqld
# Version: V1.0
# Autor: oldboy
# Organisation: www.oldboyedu.com
# Erstellt am: 2018-06-05 08:58:19
##############################################################
#Stellen Sie die Systemfunktionsbibliothek vor. /etc/init.d/functions

#Grundlegende Pfaddefinition basedir='/application/mysql'
bindir='/Anwendung/mysql/bin'
lockdir='/var/lock/subsys'                    
lock_file_path="$lockdir/mysql"
mysqld_pid_file_path='$basedir/data/`uname -n`.pid'

#Erfolgsmeldungsfunktion log_success_msg(){
  #action ist eine spezielle Eingabeaufforderungsfunktion, $@ sind alle Parameter.
  Aktion "ERFOLGREICH! $@" /bin/true
}
#Fehleraufforderungsfunktion log_failure_msg(){
  Aktion "FEHLER! $@" /bin/false
 }
 
#mysql Startfunktion start(){
  echo $"MySQL wird gestartet"
  #Testen Sie, ob mysqld_safe ausführbar ist, wenn test -x $bindir/mysqld_safe
  Dann
    #Hintergrundausführung startet MySQL-Befehl $bindir/mysqld_safe &>/dev/null &
    #Holen Sie sich den Rückgabewert retval=$?
    # Überprüfen Sie, ob der Rückgabewert 0 ist
    wenn [ $retval -eq 0 ]
    Dann
      #Rufen Sie die Erfolgsaufforderungsfunktion auf.
      log_success_msg "MySQL-Start"
      if test -w "$lockdir" #Beurteilen Sie, ob das Sperrverzeichnis beschreibbar ist.
      Dann
        touch "$lock_file_path" #Erstellen Sie eine Sperrdatei.
      fi
      return $retval #Die Angabe eines Rückgabewerts ist eine professionelle Geste.
    anders
      log_failure_msg "MySQL-Startup" #Eingabeaufforderung für fehlgeschlagenen Funktionsaufruf.
      Rückgabewert $retval
    fi
  anders
    log_failure_msg "MySQL-Server konnte nicht gefunden werden ($bindir/mysqld_safe)"
  fi
}
#Stoppen Sie die MySQL-Funktion.
stoppen(){
  #Beurteilen Sie, ob die MySQL-PID-Dateigröße 0 ist.
  wenn test -s "$mysqld_pid_file_path"
  Dann
    #PID-Datei lesen
    mysqld_pid=`cat "$mysqld_pid_Dateipfad"`
    #Beurteilen Sie, ob der der MySQL-PID entsprechende Prozess existiert.
    wenn (kill -0 $mysqld_pid 2>/dev/null)
    Dann
      echo $"MySQL wird heruntergefahren"
      kill $mysqld_pid #Stoppen Sie den MySQL-Befehl.
      retval=$?
      wenn [ $retval -eq 0 ]
      Dann
        log_success_msg "MySQL Stop" #Rufen Sie die Stop-Success-Funktion auf.
        wenn test -f "$lock_file_path"
        Dann
          rm -f "$lock_file_path" #Löschen Sie die Sperrdatei.
        fi
        Rückgabewert $retval
      anders
        log_failure_msg "MySQL-Stopp."
        Rückgabewert $retval
      fi
    anders
      log_failure_msg "MySQL-Serverprozess mysqld_pid läuft nicht!"
      rm "$mysqld_pid_dateipfad"
    fi 
  anders
    log_failure_msg "Die PID-Datei des MySQL-Servers ist null oder existiert nicht!"
  fi
}
#Empfangen Sie die übergebenen Parameter und führen Sie die entsprechende Funktion aus.
Fall "$1" in
  Start)
    Start
    retval=$?
    ;;
  stoppen)
    stoppen
    retval=$?
    ;;
  Neustart)
    stoppen
    Schlaf 2 #Das ist sehr wichtig, ruhen Sie sich aus.
    Start
    retval=$?
    ;;
  *)
    echo $"Verwendung:$0 {start|stop|restart}"
    Ausfahrt 2
esac
exit $retval #Nach der Ausführung des Skripts ist es professioneller, einen Rückgabewert zu haben.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Zusammenfassung der MySQL-Nutzungsspezifikationen
  • Äußerst detaillierte Freigabe der MySQL-Nutzungsspezifikation
  • Zusammenfassung der MySQL-Datenbanknutzungsspezifikationen
  • Zusammenfassung der MySQL-Entwicklungsstandards und -Nutzungskenntnisse
  • MySQL-Datenbank-Entwicklungsspezifikationen [empfohlen]
  • Benennungsstandards und Konventionen für MySQL-Datenbanken
  • Detaillierte Erläuterung der MySQL-Tabellenerstellung und der Indexnutzungsspezifikationen
  • Benennung und Designspezifikationen für MySQL-Datenbanken
  • Professionelle MySQL-Entwicklungsdesignspezifikationen und SQL-Schreibspezifikationen

<<:  jQuery implementiert verschachtelte Tab-Funktion

>>:  Verwendung von relativen und absoluten Pfaden unter Linux

Artikel empfehlen

Das WeChat-Applet implementiert einen Videoplayer, der einen Bullet-Screen sendet

In diesem Artikel wird der spezifische Code für d...

Analyse impliziter Fehler bei der gleichzeitigen Replikation von MySQL 5.7

Vorwort Die meisten unserer MySQL-Onlineumgebunge...

So ziehen Sie das Docker-Image herunter, um die Version anzuzeigen

Um die Version und das Tag des Bildes anzuzeigen,...

HTML+jQuery zur Implementierung einer einfachen Anmeldeseite

Inhaltsverzeichnis Einführung Öffentlicher Code (...

So generieren Sie PDFs und laden sie im Vue-Frontend herunter

Inhaltsverzeichnis 1. Installation und Einführung...

JavaScript, um die Idee des Schlangenspiels umzusetzen

Die Implementierungsidee des Javascript-Spiels Sn...

So ändern Sie die Portzuordnung eines laufenden Docker-Containers

Vorwort Wenn Docker Run einen Container erstellt ...

Detaillierte Beispiele für Ersetzen und Ersetzen in MySQL into_Mysql

„Replace“ und „Replace into“ von MySQL sind beide...

Online- und Offlineinstallation von Docker und allgemeine Befehlsvorgänge

1. Testumgebung Name Version centos 7.6 Docker 18...

Die Auswirkungen des Limits auf die Abfrageleistung in MySQL

I. Einleitung Lassen Sie mich zunächst die MySQL-...