MySQL mit skip-grant-tables
starten
In der /etc/my.cnf folgendes rein packen:
[mysqld] skip-grant-tables # wegen dem Fehler: ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded # auch unter [mysqld] plugin-load-add = auth_socket.so
Anschließend MySQL restarten.
Ohne Passwort rein und root Passwort setzen
mysql -u root
FLUSH PRIVILEGES; USE mysql; -- MySQL 5.7 UPDATE user SET authentication_string=PASSWORD("mysecret") WHERE User='root'; UPDATE user SET plugin="mysql_native_password" WHERE User='root'; -- MySQL 8: ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysecret'; -- UPDATE user SET plugin="caching_sha2_password" WHERE User='root'; quit
dev.mysql.com/doc/resetting-permissions
dev.mysql.com/doc/privilege-changes (FLUSH PRIVILEGES)
MySQL neu starten und Passwort testen
ZUERST: Das in der /etc/my.cnf auskommentieren!
sudo systemctl restart mysql # und testen ob ich als root mit Passwort rein komme: mysql -u root -p
mysql_secure_installation
sudo mysql_secure_installation # darin: # Change the root password? [Y/n] y # und MySQL restarten sudo systemctl restart mysql.service # dann kann man als 'root' rein # ACHTUNG! nur mit sudo, sonst: "Access denied for user 'root'@'localhost'" sudo mysql -u root -p
dev.mysql.com/doc/mysql-secure-installation
Seit MySQL 8 kann man nicht mit dem User ‚root‘ arbeiten. Darum muss ein neuer User erstellt werden:
CREATE USER 'rumpelstil'@'localhost' IDENTIFIED BY 'mysecret'; GRANT ALL PRIVILEGES ON *.* TO 'rumpelstil'@'localhost'; FLUSH PRIVILEGES;