MySQL: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „MySQL ist wie MariaDB oder PostgreSQL eine relationale Open-Source-Datenbank. == Speicherort == Der physikalische Speicherort der MySQL-Datenbank kann in…“)
 
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 13: Zeile 13:
 
oder von der Shell:
 
oder von der Shell:
 
   mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = "datadir"<ref>Siehe http://stackoverflow.com/questions/17968287/how-to-find-the-mysql-data-directory-from-command-line-in-windows</ref>
 
   mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = "datadir"<ref>Siehe http://stackoverflow.com/questions/17968287/how-to-find-the-mysql-data-directory-from-command-line-in-windows</ref>
 +
oder
 +
  mysql ?<ref>Siehe http://stackoverflow.com/questions/17968287/how-to-find-the-mysql-data-directory-from-command-line-in-windows</ref>
  
 +
== Nur-Root-Login ==
 +
 +
In MariaDB wird der root-Nutzerzugriff mittels eines unix_socket-Plugins derart abgesichert, dass nur ein als Linux-root eingeloggter Benutzer sich auch als MariaDB-root (dafür dann ohne Passwort) anmelden kann.<ref>Siehe https://kofler.info/root-login-problem-mit-mariadb/</ref>
 +
 +
Um dennoch einen root-Access zu haben empfiehlt [https://kofler.info/root-login-problem-mit-mariadb/ kofler.info] einen eigenen Root-Nutzer root2 folgendermaßen anzulegen:
 +
  (als root)# mysql -u root
 +
  > grant all on *.* to root2@localhost identified by 'geheim' with grant option;
 +
 +
Außerdem muss das [https://kofler.info/root-login-problem-mit-mariadb/ unix_socket-Plugin deaktiviert werden].
 +
 +
== Verbose Logging in MariaDB ==
 +
 +
Zur Fehlersuche kann man in MariaDB folgendermaßen [https://mariadb.com/kb/en/mariadb/general-query-log/ alle Datenbank-Abfragen loggen]:
 +
  cat > /etc/mysql/conf.d/verboselogging.cnf <<EOF
 +
  [mysqld]
 +
  general-log
 +
  general-log-file=/var/log/mysql/queries.log
 +
  log-output=file
 +
  EOF
 +
 +
== Siehe auch ==
 +
 +
* [[Docker#MySQL-Image]]
 +
* [[OpenHAB#MySQL Persistence]]
 +
 
------
 
------
 
<references/>
 
<references/>

Aktuelle Version vom 12. Juli 2018, 16:59 Uhr

MySQL ist wie MariaDB oder PostgreSQL eine relationale Open-Source-Datenbank.

Speicherort

Der physikalische Speicherort der MySQL-Datenbank kann in der Datei /etc/mysql/my.cnf in der Zeile datadir = festgelegt werden.[1]

Mit dem MySQL-Befehl

 SELECT @@datadir;

soll das Datenverzeichnis angezeigt werden.[2]

Alternativen seien

 SHOW VARIABLES WHERE Variable_Name = "datadir"

oder von der Shell:

 mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = "datadir"[3]

oder

 mysql ?[4]

Nur-Root-Login

In MariaDB wird der root-Nutzerzugriff mittels eines unix_socket-Plugins derart abgesichert, dass nur ein als Linux-root eingeloggter Benutzer sich auch als MariaDB-root (dafür dann ohne Passwort) anmelden kann.[5]

Um dennoch einen root-Access zu haben empfiehlt kofler.info einen eigenen Root-Nutzer root2 folgendermaßen anzulegen:

 (als root)# mysql -u root
 > grant all on *.* to root2@localhost identified by 'geheim' with grant option;

Außerdem muss das unix_socket-Plugin deaktiviert werden.

Verbose Logging in MariaDB

Zur Fehlersuche kann man in MariaDB folgendermaßen alle Datenbank-Abfragen loggen:

 cat > /etc/mysql/conf.d/verboselogging.cnf <<EOF
 [mysqld]
 general-log
 general-log-file=/var/log/mysql/queries.log
 log-output=file
 EOF

Siehe auch