MySQL – die besten Beiträge

MySQL Startet nicht?

Hallo, meine MySQL(MariaDB) Datenbank startet nicht mehr und ich weiß nicht wieso.
Da ich nun einen Dump machen möchte muss diese um Aktiven zustand sein, was momentan leider nicht Möglich ist.

Ich habe aus den Syslogs dies

Aug  5 19:39:17 rv2689 systemd[1]: Starting MySQL Community Server...
Aug  5 19:39:17 rv2689 systemd[110214]: mysql.service: Failed to determine group credentials: No such process
Aug  5 19:39:17 rv2689 systemd[110214]: mysql.service: Failed at step GROUP spawning /usr/share/mysql/mysql-systemd-start: No such process
Aug  5 19:39:17 rv2689 systemd[1]: mysql.service: Control process exited, code=exited, status=216/GROUP
Aug  5 19:39:17 rv2689 systemd[1]: mysql.service: Failed with result 'exit-code'.
Aug  5 19:39:17 rv2689 systemd[1]: Failed to start MySQL Community Server.
Aug  5 19:39:17 rv2689 systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Aug  5 19:39:17 rv2689 systemd[1]: Stopped MySQL Community Server.
Aug  5 19:39:17 rv2689 systemd[1]: mysql.service: Start request repeated too quickly.
Aug  5 19:39:17 rv2689 systemd[1]: mysql.service: Failed with result 'exit-code'.
Aug  5 19:39:17 rv2689 systemd[1]: Failed to start MySQL Community Server.

Die MySQL error logs:

root@rv2689:/var/log/mysql# tail -f /var/log/mysql/error.log 
2022-08-05T21:40:38.936047Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.29-0ubuntu0.20.04.3)  (Ubuntu).
2022-08-05T21:40:39.690223Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-05T21:40:39.932957Z 0 [ERROR] [MY-011292] [Server] Plugin mysqlx reported: 'Preparation of I/O interfaces failed, X Protocol won't be accessible'
2022-08-05T21:40:39.933028Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file /var/run/mysqld/mysqlx.sock.lock'
2022-08-05T21:40:39.991422Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-08-05T21:40:39.991479Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-08-05T21:40:39.991761Z 0 [ERROR] [MY-010273] [Server] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.
2022-08-05T21:40:39.991789Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file.
2022-08-05T21:40:39.992343Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-08-05T21:40:41.465019Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.29-0ubuntu0.20.04.3)  (Ubuntu).

Vielleicht Sagt mir das nicht, aber vielleicht einen von euch

Ich hoffe mir kann jemand helfen

Wen man anders ein Dump erstellen kann ohne das die MySQL in einen Funktionsfähigen zustand sein muss wäre mir das auch recht da ich die Datenbank umziehen möchte und keine andere Möglichkeit sehe außer ein Dump zu benutzen.

LG

System: Ubuntu 20.04

Computer, Fehler, Linux, Datenbank, MySQL, LOGS, startet-nicht, fail

PHP MySql Login / Passwort überprüfung?

Kann mir da jemand sagen wo der Fehler liegt ? Ich bin da am verzweifeln.

Login, Registrierung, Fehlermeldung, SQL Struktur habe ich alles in die Frage gepackt damit ihr einen besseren überblick habt.

login.php:

<?php
   $server = 'localhost';
   $user = 'root';
   $psw = null;
   $dbName = 'TestApp';
try {
   $conn = new PDO('mysql:host='.$server.';dbname='.$dbName.';charset=utf8', $user, $psw);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

    $username = htmlspecialchars(stripslashes(trim($_POST['username'])));
    $password = htmlspecialchars(stripslashes(trim($_POST['password'])));

    $statement = $pdo->prepare("SELECT * FROM user WHERE username = :username");
    $result = $statement->execute(array('username' => $username
                                    ));
    $user = $statement->fetch();
    //Überprüfung des Passworts
    if ($user !== false && password_verify($username, $password['passwort'])) {
        $_SESSION['userid'] = $user['id'];
        die('Login erfolgreich. Weiter zu <a href="geheim.php">internen Bereich</a>');
    } else {
        $errorMessage = "Nutzername oder Passwort war ungültig<br>";
    }

}catch (PDOException $e) {
    print "Error!: " . $e->getMessage() ;
    exit;
  }

Konsole :

<br />
<b>Warning</b>: Undefined variable $pdo in <b>C:\xampp\htdocs\Test\assets\php\login.php</b> on line <b>14</b><br />
<br />
<b>Fatal error</b>: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\Test\assets\php\login.php:14
Stack trace:
#0 {main}
 thrown in <b>C:\xampp\htdocs\Test\assets\php\login.php</b> on line <b>14</b><br />

register.php

<?php
   $server = 'localhost';
   $user = 'root';
   $psw = null;
   $dbName = 'TestApp';
try {
   $conn = new PDO('mysql:host='.$server.';dbname='.$dbName.';charset=utf8', $user, $psw);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

// POST wird mit AJAX gesendet
   $username = htmlspecialchars(stripslashes((trim($_POST["username"])))) ;
   $password =  password_hash(htmlspecialchars(stripslashes((trim($_POST["password"])))) ,PASSWORD_DEFAULT) ;
   $cash =     100;

// Schreibt in die Datenbank

   $sql = "INSERT INTO user (username,password,cash) VALUES (:username,:password,:cash) ";
   $sqlvars = array("username"  => $username,
   "password" => $password,
   "cash" => $cash);
   $Abfrage = $conn->prepare($sql);
   $Abfrage->execute($sqlvars);


}catch (PDOException $e) {
  print "Error!: " . $e->getMessage() . "<br/>";
  exit;
}

SQL STRUKTUR :

Datenbankname : Test

Tabelle : user , 5 Spalten/Rows

  • id | int , (auto increment)
  • username | varchar , (unique)
  • password | varchar, (gehasht mit salt sha512)
  • cash | varchar
  • time | datetime, (mit current time stamp)

und ich mache alles mit AJAX.

-PDO statt mysqli

Computer, Webseite, Programmierer, programmieren, JavaScript, Datenbank, Informatik, MySQL, PHP, Webentwicklung, Backend, phpMyAdmin, PDO

Mehrere Webseiten über ein Login System organisieren?

Ich hab mehrere Webseiten die teils über verschiedene Server verstreut sind und es wäre ziemlich lästig für jede ein eigenes zu machen also hab ich beschlossen sowas ähnliches wie oAuth nur mit PHP zu bauen, am besten so zweckmäßig wie möglich um das ganze zu erleichtern. Kann man das Konzept als fertig bezeichnen oder muss man da noch was dran ändern?

Dass man sich anmelden kann wird man auf die anmeldeseite geleitet, man gibt seine Daten ein und man wird auf die eigentliche Seite zurückgeleitet

um einen Benutzer anzumelden greift der dienst als erstes auf einen langen string zurück nennen wir es mal API Token. dieser wird während der nutzer auf die anmeldeseite geleitet wird mit post übergeben um zum einen sicherzustellen dass die webseite autorisiert dazu ist daten anzufragen und zum anderen dass das login system weiß wohin es den token und den Nutzer nach der anmeldung leiten soll. Dann meldet sich der nutzer auf der loginseite n und der nutzername und das passwort wird validiert etc. danach stellt der authentifizierungsserver das access Token aus, was beim weiterleiten wieder zurückgepostet wird. Dieses access token wird dann beim nutzer als cookie gespeichert und der Dienst der dann die Zeichenkette erhalten hat fragt dann die benötigten daten(nutzername, geburtsdatum etc.) mit curl von autentifizierungsserver ab und somit ist der nutzer angemeldet.

Das heißt ich müsste das script was prüft welchen Benutzername man hat muss mit jedem einzelnen Seitenaufruf erneut mittels dem access token den nutzernamen anfragen, eventell kann man das aber auch über nen session cookie mit nutzername regeln

Also: kann man das umsetzen oder habe ich was vergessen?

Computer, Webseite, programmieren, JavaScript, Datenbank, MySQL, PHP, Webserver

Meistgelesene Beiträge zum Thema MySQL