mysql 5.6 scheint eine neue Option --random-passwords für mysql_install_db zu haben, mit der ich das Root-Passwort ermitteln kann: http://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html# option_mysql_install_db_random-passwords
Aber was kann ich mit MySQL 5.5 machen? Die Dokumentation schlägt vor, dass das Root-Passwort leer sein sollte, aber ich kann anscheinend keine Verbindung mit keinem Passwort (oder einem leeren Passwort) herstellen, sodass ich kein echtes Root-Passwort festlegen kann:
Zum Beispiel:
Ich initialisiere die Datenbank wie folgt:
$ mysql_install_db --no-defaults --user=murrayc --datadir=/tmp/testmysql/data
Ich starte den Server wie folgt:
$ mysqld_safe --no-defaults --user=murrayc --port=3308 --datadir='/tmp/testmysql/data' --socket='/tmp/testmysql/mysqld.sock' --pid-file='/tmp/testmysql/pid'
Aber wenn ich versuche, das Root-Passwort so festzulegen (ich glaube, dass sich --user in diesem Fall auf den MySQL-Benutzer bezieht, nicht auf den Linux-Benutzer):
$ mysqladmin --no-defaults --port=3308 --user=root --password='' password 'somenewpassword'
Ich erhalte diesen Fehler:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
10:41:12 ~$ mysql -uroot --port=3311 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)Befehle wie "service mysql restart" gelten für den regulären mysql-Prozess des Systems. Ich initialisiere eine separate Datenbank und starte eine separate mysqld-Instanz.