09 - MariaDB - Datenbank
brew update
brew install mariadb
brew services start mariadbDatenbank absichern
sudo /usr/local/bin/mysql_secure_installation
Passwort = login pwDatenbank neu starten
brew services restart mariadbWo ist die Konfiguration Datei?
/usr/local/cellar/mariadb/10.5.5/- Da liegt das Programm/usr/local/etc/my.cnf- Diese Config-Datei bindet das Verzeichnis/usr/local/etc/my.cnf.dein.- 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=1phpMyAdmin installieren
brew install phpmyadminphpMyAdmin muss im Apache aktiviert werden:
codium /usr/local/etc/httpd/httpd.confFolgende 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>- Aufrufen: http://localhost/phpmyadmin
- Config Datei (/usr/local/etc/phpmyadmin.config.inc.php) bearbeiten:
sudo codium $(brew --prefix)/etc/phpmyadmin.config.inc.phpERROR: ‘Out of resources when opening file
Der mysql-Fehler: Keine Ressourcen mehr beim Öffnen der Datei… (Fehlercode: 24) zeigt an, dass die Anzahl der Dateien, die msyql öffnen darf, überschritten wurde. Diese Grenze wird durch die Variable 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 Entwicklungsumgebung aufgebaut habe, und mein Duplicator Pro Wordpress-Backup installieren wollte.
Den MariaDB Monitor im Terminal ö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 Grenzen auf meinem Mac OS X-System:
launchctl limit maxfiles
maxfiles 256 unlimitedDie letzten beiden Spalten zeigen die weiche und die harte Grenze.
Lösung(en)
- duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimit
- tipstricks.itmatrix.eu/resolving-mysql-error-too-many-open-files
- gist.github.com/tombigel/d503800a282fcadbee14b537735d202c
- https://ss64.com/bash/ulimit.html - User limits - limit the use of system-wide resources
Zwei Dateien erzeugen. Am Besten mit Mit BBEdit, denn zum Schreiben braucht es Admin-Rechte, und BBEdit fragt die ab. Andere Editoren bringen einfach nur einen SchreibFehler.
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>Beide Plist-Dateien müssen root:wheel und -rw-r–r– Rechte haben. Die sollten standardmäßig vorhanden sein, aber ein zusätzliches sudo chmod 644 stellt sicher das dem auch so ist.
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plistDie systemweiten Grenzen für offene Dateien werden so beim Neustart korrekt gesetzt. Mit launchctl limit könnte ich das auch manuell durchführen….
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
sudo launchctl load -w /Library/LaunchDaemons/limit.maxproc.plistWenn ich die Werte später nochmal ändern will, sollte ich die alten Daten vorher entladen:
sudo launchctl unload -w /Library/LaunchDaemons/limit.maxfiles.plist
sudo launchctl unload -w /Library/LaunchDaemons/limit.maxproc.plistAn diesem Punkt den Computer einmal neu starten, und das Ergebnis ü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 maximum number of processes available to a single user.
- -n The maximum number of open file descriptors.
ulimit -n
200000
ulimit -u
2048