Ich musste ein wenig im Quellcode von mydumper stöbern, um die Antwort auf diese Frage zu finden. Wenn Sie sich den tatsächlichen Quellcode von mydumper ansehen:
Sie finden Folgendes ab Zeile 415 als Teil der Prozesswarteschlange:
if(use_savepoints && mysql_query(thrconn, "SET SQL_LOG_BIN = 0")){
g_critical("Failed to disable binlog for the thread: %s",mysql_error(thrconn));
exit(EXIT_FAILURE);
}
Dies zeigt, dass für die Verwendung von --use-savepoints in mydumper das MySQL-Bin-Protokoll deaktiviert werden muss. Ich habe dies auf meinem eigenen MariaDB-Server versucht, der immer noch MySQL als Basis-DBMS verwendet, und bei Verwendung eines Nicht-Administratorkontos den folgenden Fehler erhalten:
MariaDB [(keine)]> SET SQL_LOG_BIN = 0; FEHLER 1227 (42000): Zugriff verweigert; Sie benötigen (mindestens eines der) SUPER-Berechtigungen für diesen Vorgang
Nach dem, was ich vom eigentlichen Code gelesen und diesen Zustand auf meinem eigenen MySQL-Server getestet habe, benötigen Sie meines Erachtens das "SUPER-Privileg", da mydumper die Protokollierung im binlog deaktiviert, während es ausgeführt wird. Dies ist Teil der "Aktivieren oder Deaktivieren der Protokollierung" eines im DOCS genannten SUPER .
Weitere Informationen zum Binlog finden Sie hier:
http://dev.mysql.com/doc/refman/5.6/en/set-sql-log-bin.html
So weit wie Savepoints gehen:
http://dev.mysql.com/doc/refman/5.6/en/savepoint.html
Nach dem Lesen des Handbuchs und dieses Fehlerberichts sieht es so aus, als würden bei Freigabe von Sicherungspunkten Sperren für die Tabelle freigegeben, an der gearbeitet wird, wodurch Sperrprobleme verhindert werden können, die erst in MySqldump bei MySQL 5.5 aufgetreten sind.
Ich hoffe, dies gibt ein wenig mehr Einblick in das mydumper-Tool.