07 — MariaDB — Datenbank

Zuletzt geändert: 31. Oktober 2020
Geschätzte Lesezeit: 2 min
brew update brew install mariadb brew services start mariadb

Datenbank absichern

sudo /usr/local/bin/mysql_secure_installation Passwort = login pw

Datenbank neu starten

brew services restart mariadb

Wo ist die Konfiguration Datei?

  • /usr/local/cellar/mariadb/10.5.5/ — Da liegt das Programm
  • /usr/local/etc/my.cnf  — Diese Con­fig-Datei bindet das Verze­ich­nis /usr/local/etc/my.cnf.d ein.
  • Ich habe mir dort eine eigene Datei angelegt: meine.cnf
# # This group is read both both by the client and the server # use it for options that affect everything # [client-server] # # Meine Konfiguration # [mysqld] lower_case_table_names=1

phpMyAdmin installieren

brew install phpmyadmin

php­MyAd­min muss im Apache aktiviert werden: 

codium /usr/local/etc/httpd/httpd.conf

Fol­gende Zeilen einfügen: 

Alias /phpmyadmin $(brew --prefix)/share/phpmyadmin <Directory $(brew --prefix)/share/phpmyadmin/> Options Indexes FollowSymLinks MultiViews     AllowOverride All     <IfModule mod_authz_core.c>      Require all granted     </IfModule>     <IfModule !mod_authz_core.c>      Order allow,deny      Allow from all     </IfModule> </Directory>
sudo codium $(brew --prefix)/etc/phpmyadmin.config.inc.php

ERROR: ‘Out of resources when opening file 

Der mysql-Fehler: Keine Ressourcen mehr beim Öff­nen der Datei… (Fehler­code: 24) zeigt an, dass die Anzahl der Dateien, die msyql öff­nen darf, über­schrit­ten wurde. Diese Gren­ze wird durch die Vari­able open_files_limit kontrolliert. 

Kommt wahlweise auch als Can't create table (errno: 24 "Too many open files")

Der Fehler trat auf als ich meine lokale Entwick­lung­sumge­bung aufge­baut habe, und mein Dupli­ca­tor Pro Word­Press-Back­up instal­lieren wollte. 

Den Mari­aDB Mon­i­tor im Ter­mi­nal öffnen: 

sudo mariadb -u root Password: SHOW VARIABLES LIKE 'open%';
+------------------+-------+ | Variable_name | Value | +------------------+-------+ | open_files_limit | 256 | +------------------+-------+ 1 row in set (0.001 sec)

Die aktuellen Gren­zen auf meinem Mac OS X‑System:

launchctl limit maxfiles maxfiles 256 unlimited

Die let­zten bei­den Spal­ten zeigen die weiche und die harte Grenze. 

Lösung(en)

Zwei Dateien erzeu­gen. Am Besten mit Mit BBE­d­it, denn zum Schreiben braucht es Admin-Rechte, und BBE­d­it fragt die ab. Andere Edi­toren brin­gen ein­fach nur einen SchreibFehler. 

Das Library Verze­ich­nis im Find­er sicht­bar machen mit Com­mand + Shift + . 

1.) Library/LaunchDaemons/limit.maxfiles.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>limit.maxfiles</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>limit</string> <string>maxfiles</string> <string>200000</string> <string>200000</string> </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> </dict> </plist>

/Library/LaunchDaemons/limit.maxproc.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>limit.maxproc</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>limit</string> <string>maxproc</string> <string>2048</string> <string>2048</string> </array> <key>RunAtLoad</key> <true /> <key>ServiceIPC</key> <false /> </dict> </plist>

Bei­de Plist-Dateien müssen root:wheel und ‑rw‑r–r– Rechte haben. Die soll­ten stan­dard­mäßig vorhan­den sein, aber ein zusät­zlich­es sudo chmod 644 stellt sich­er das dem auch so ist. 

sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist

Die sys­temweit­en Gren­zen für offene Dateien wer­den so beim Neustart kor­rekt geset­zt. Mit launchctl limit kön­nte ich das auch manuell durchführen.… 

sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist sudo launchctl load -w /Library/LaunchDaemons/limit.maxproc.plist

Wenn ich die Werte später nochmal ändern will, sollte ich die alten Dat­en vorher entladen: 

sudo launchctl unload -w /Library/LaunchDaemons/limit.maxfiles.plist sudo launchctl unload -w /Library/LaunchDaemons/limit.maxproc.plist

An diesem Punkt den Com­put­er ein­mal neu starten, und das Ergeb­nis überprüfen: 

sudo mariadb -u root Password: MariaDB [(none)]> SHOW VARIABLES LIKE 'open%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | open_files_limit | 32190 | +------------------+-------+ 1 row in set (0.001 sec) MariaDB [(none)]>
  • -u The max­i­mum num­ber of process­es avail­able to a sin­gle user.
  • -n The max­i­mum num­ber of open file descriptors.
ulimit -n 200000 ulimit -u 2048
War der Artikel hilfreich?
Nich so 0 1 von 1 fanden den Artikel hilfreich.
Ansichten: 16
Vorheriger Artikel: 06 — PHP
Nächster Artikel: 08 — Lokaler DNS-Server mit Dnsmasq