mysql 5.6 似乎对 mysql_install_db 有一个新的 --random-passwords 选项,它让我发现 root 密码:http ://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html# option_mysql_install_db_random-passwords
但是我可以用 mysql 5.5 做什么?文档建议 root 密码应该为空,但我似乎无法在没有密码(或空密码)的情况下连接,所以我无法设置真正的 root 密码:
例如:
我像这样初始化数据库:
$ mysql_install_db --no-defaults --user=murrayc --datadir=/tmp/testmysql/data
Run Code Online (Sandbox Code Playgroud)
我像这样启动服务器:
$ mysqld_safe --no-defaults --user=murrayc --port=3308 --datadir='/tmp/testmysql/data' --socket='/tmp/testmysql/mysqld.sock' --pid-file='/tmp/testmysql/pid'
Run Code Online (Sandbox Code Playgroud)
但是当我尝试像这样设置 root 密码时(我相信在这种情况下 --user 指的是 mysql 用户,而不是 linux 用户):
$ mysqladmin --no-defaults --port=3308 --user=root --password='' password 'somenewpassword'
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Run Code Online (Sandbox Code Playgroud) mysql ×1