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

So zeigen Sie das MySQL-Binlog (Binärprotokoll) an

Wenn Sie beispielsweise eine neue Tabelle erstell...

Zusammenfassung der Konstruktor- und Superwissenspunkte in React-Komponenten

1. Einige Tipps zu mit class in react deklarierte...

Eine kurze Einführung in die Basiskomponenten der VUE uni-app

1. Scroll-Ansicht Beim vertikalen Scrollen müssen...

Beispielschritte zur Verwendung von AntV X6 mit Vue.js

Inhaltsverzeichnis 0x0 Einführung 0x1 Installatio...

HTML-Head-Tag-Metadaten zum Erreichen einer Aktualisierungsumleitung

Code kopieren Der Code lautet wie folgt: <html...

Erfahren Sie, wie Sie ein Vue-Projekt mit Docker bereitstellen

1.Schreiben Sie davor: Als leichtgewichtige Virtu...

Lernen Sie, wie Sie in 6 Sekunden 1 Million Datensätze in MySQL einfügen

1. Idee Es dauerte nur 6 Sekunden, um 1.000.000 D...

Bereinigungsmethode für das Docker-Verzeichnis /var/lib/docker/aufs/mnt

Der Dienst des Unternehmens verwendet Docker und ...

Detaillierte Erklärung der Verwendung des Bash-Befehls

Unter Linux wird Bash als Standard übernommen, wa...

Remotedesktopverbindung zwischen Windows und Linux

Wenn es um eine Remotedesktopverbindung zu Linux ...

Schritte der Docker-Lernmethode zum Erstellen des ActiveMQ-Nachrichtendienstes

Vorwort ActiveMQ ist der beliebteste und leistung...

So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows

Die MySQL Master-Slave-Replikation ermöglicht die...