mysql User übertragen

Um die bestehenden User einer mysql Datenbank auf eine andere Instanz zu übertragen, sind ein paar Kommandos hilfreich und sinnvoll, die in https://wisdmlabs.com/blog/migrate-mysql-users-one-server-another/ sehr schön ausgeführt sind.

Hier die Zusammenfassung:


# Userliste (alles in eine Zeile)
mysql -B -N -uroot -p -e "SELECT CONCAT('\'', user,'\'@\'', host, '\'') FROM user WHERE user != 'debian-sys-maint' AND user != 'root' AND user != ''" mysql > mysql_all_users.txt


# Permissions (root Passwort in die Kommandozeile!) wieder alles in eine Zeile
while read line; do mysql -B -N -uroot -p -e "SHOW GRANTS FOR $line"; done < mysql_all_users.txt > mysql_all_users_sql.sql


# Syntax für den Import regeln
sed -i 's/$/;/' mysql_all_users_sql.sql


#
#
# Import in neuer Instanz
mysql -u root -p < mysql_all_users_sql.sql