Details zur Reihenfolge, in der MySQL my.cnf liest

Details zur Reihenfolge, in der MySQL my.cnf liest

Die Reihenfolge, in der MySQL my.cnf liest

1. mysql.server-Startmethode

basedir=/opt/mysql/mysql3315
datadir=/opt/mysql/mysql3315/data

Zum Suchen wird -e beim Parsen der Parameterdatei miteinbezogen

/opt/mysql/mysql3315/bin/my_print_defaults -e /opt/mysql/mysql3315/my.cnf mysqld-Server mysql_server mysql.server

Das heißt, --defaults-extra-file, das erhaltene Verzeichnis enthält basedir, datadir und pid-file, aber der Parameter pid-file existiert möglicherweise nicht

So verwenden Sie es

wenn test -z "$mysqld_pid_file_path"
Dann
  mysqld_pid_file_path=$datadir/`hostname`.pid
anders
  Fall "$mysqld_pid_file_path" in
    /* ) ;;
    * )mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;
  esac
fi

Konvertieren Sie den Speicherort und den Dateinamen. Die endgültigen Parameter sind wie folgt:

/opt/mysql/mysql3315/bin/mysqld_safe --datadir=/opt/mysql/mysql3315/data/ --pid-file=/opt/mysql/mysql3315/data//mgr4.pid

2. mysqld_safe Startmethode

  • Kehren Sie den Speicherort von mysqld_safe um, um das basedir-Verzeichnis zu erhalten, und setzen Sie MYSQL_HOME auf basedir
  • Da beim Parsen der Parameterdatei viele Parameter abgerufen werden müssen, werden sie hier nicht aufgeführt.
/opt/mysql/mysql3315/bin/my_print_defaults mysqld-Server mysql_Server mysql.Server

Hinweis: -e wird hier nicht gesetzt, da das MYSQL_HOME-Verzeichnis die darunterliegenden Parameterdateien automatisch analysiert. Der Analyseort wird am Ende angezeigt.

  • Starten Sie mysqld
nohup /opt/mysql/mysql3315/bin/mysqld --basedir=/opt/mysql/mysql3315 --datadir=/opt/mysql/mysql3315/data 
--plugin-dir=/opt/mysql/mysql3315/lib/plugin --user=mysql 
--log-error=/opt/mysql/mysql3315/logs/mysql3315.err --pid-file=/opt/mysql/mysql3315/data//mgr4.pid 
--socket=/opt/mysql/mysql3315/data/mysql3315.sock --port=3315

Hinweis: Wenn open_files_limits gesetzt ist, wird open_file_limits hier verwendet, um die Konfiguration in der von mysqld verwendeten Parameterdatei zu überschreiben

  • PID-Datei zur Schleifenüberwachung

Nach dem Start wird die folgende Schleife ausgeführt. Der Befehl eval wird verwendet, um den Aufruf von mysqld zu blockieren. Wenn der Prozess beendet wird, wird er zurückgegeben und führt eine Schleifenbeurteilung durch. Schließlich wird festgestellt, ob die PID vorhanden ist und ob es sich um ein normales Herunterfahren von mysqld handelt. Die Beurteilungsmethode ist kill -0 pid, um festzustellen, ob der mysqld-Prozess vorhanden ist. Wenn es nicht existiert, rufen Sie es auf.

während wahr
Tun
  Echo 1
  start_time=`Datum +%M%S`
  eval_log_error "$cmd"
  • Über das Laden von jemalloc
wenn [ -n "$mysqld_ld_library_path" ]; dann
  neuer_text="$mysqld_ld_library_path"
  [ -n "$LD_LIBRARY_PATH" ] && neuer_text="$neuer_text:$LD_LIBRARY_PATH"
  text="${text}LD_LIBRARY_PATH="`shell_quote_string "$new_text"`' '
fi

  • Starten Sie es selbst mit mysqld_safe
```
/home/work/ssd1/mysql/install/bin/mysqld_safe --defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf --socket=/home/work/ssd1/mysql/sock/3307/mysql.sock --datadir=/home/work/ssd1/mysql/data/3307 --user=mysql &

Wenn Sie my_print_defaults so starten, bringt es --defaults-file

/opt/mysql/mysql3320/install/bin/my_print_defaults --defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf --loose-verbose mysqld-Server

3. Über die Reihenfolge, in der mysqld und my_print_defaults my.cnf lesen

Tatsächlich ist diese Funktion init_default_directories Funktion
Die Reihenfolge ist:

<—defaults-file wird zuerst gelesen und liest nur diese Konfigurationsdatei und ist die erste Option>

  • /etc/meine.cnf
  • /etc/mysql/meine.cnf
  • DEFAULT_SYSCONFDIR my.cnf unter Konfiguration zur Kompilierungszeit
  • MYSQL_HOME-Einstellung. mysqld_safe setzt MYSQL_HOME und liest die folgende my.cnf.
  • Die Einstellungen --defaults-extra-file, my_print_defaults und mysqld werden beide dadurch festgelegt.
  • ~/.meine.cnf
  • Aus der Reihenfolge der Analyse werden die Befehlszeilenparameter zuletzt geladen.

Nach Abschluss der Analyse werden alle Parameter aufgelistet. Wenn mehrere Parameter mit demselben Namen vorhanden sind, wird der letzte wirksam.

Dies ist das Ende dieses Artikels über die Einzelheiten der Reihenfolge, in der MySQL my.cnf liest. Weitere Informationen zur Reihenfolge, in der MySQL my.cnf liest, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Verwenden Sie Shell-Skripte, um MySQL hinzuzufügen, zu löschen, zu ändern und zu überprüfen und my.cnf zu konfigurieren
  • Lösen Sie das Problem, dass bei der Installation von MySQL unter Linux keine my.cnf-Datei in /etc vorhanden ist
  • Einführung in /etc/my.cnf-Parameter in MySQL 5.7
  • Lösung für das Problem, dass die Konfigurationsdatei my.cnf in MySQL aufgrund von Berechtigungsproblemen nicht gestartet werden kann
  • Leistungsoptimierung des MySQL-Dienstes – Konfigurationsanweisungen für my.cnf_my.ini (16 GB Speicher)
  • Lösung für die Ineffektivität der Änderung der MySQL my.cnf-Konfiguration
  • Details zur Optimierung der my.cnf-Parameterkonfiguration in MySQL 5.5.x
  • Detaillierte Erläuterung der Optimierung der MySQL-Konfigurationsdatei my.cnf (mysql5.5)
  • MySQL-Leistungsoptimierungspfad --- Ändern Sie die Konfigurationsdatei my.cnf
  • MariaDB (MySQL-Zweig) my.cnf-Konfigurationsdatei, chinesische kommentierte Version
  • MySQL-Konfigurationsdatei my.cnf-Parameteroptimierung und ausführliche Erklärung auf Chinesisch
  • Detaillierte Erklärung der MySQL-Konfigurationsdatei my.cnf auf Chinesisch, mit Weitergabe von Methoden zur MySQL-Leistungsoptimierung
  • Vergleich der chinesischen Version der MySQL-Konfigurationsdatei my.cnf
  • Detaillierte Analyse der MySQL-Konfigurationsparameter my.ini/my.cnf

<<:  Eine kurze Analyse, ob die Verwendung von iframe zum Aufrufen einer Seite die Seite zwischenspeichert

>>:  CSS-Tipps zur Steuerung der Wiedergabe und Pause von Animationen (sehr praktisch)

Artikel empfehlen

Gogs+Jenkins+Docker automatisierte Bereitstellung von .NetCore-Schritten

Inhaltsverzeichnis Umgebungsbeschreibung Docker-I...

So starten und starten Sie nginx unter Linux neu

Nginx (Engine x) ist ein leistungsstarker HTTP- u...

So deaktivieren Sie Webseitenstile mit dem Webentwickler von Firefox

Voraussetzung: Das Webentwickler-Plugin wurde inst...

Sammlung von 25 Schriftarten, die in berühmten Website-Logos verwendet werden

In diesem Artikel sind die Schriftarten zusammeng...

Installationshinweise zur komprimierten Version von MySQL 5.7.17

In diesem Artikel werden die Installationsschritt...

MySQL 8.0.11 Installations-Tutorial unter Windows

Dieser Artikel zeichnet das Installationstutorial...

Detaillierte Erklärung der RPM-Installation in MySQL

Installation und Deinstallation anzeigen # rpm -q...

Detaillierte Erklärung des Unterschieds zwischen $router und $route in Vue

Wir verwenden normalerweise Routing in Vue-Projek...