我使用 mysql 客户端从 dataproc 的主节点登录到 mysql 服务器,但现在失败了。
使用以下命令
mysql -uroot -p<password>
我现在看到以下错误消息。
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
最佳答案
随着 Dataproc 1.5.72 和 2.0.46 的发布,默认的 mysql root 密码已被修改。操作系统级别的 root 用户或具有 sudoer 访问权限的人可以读取密码。密码现在是一个随机生成的值,可以在/etc/mysql/my.cnf 中找到
更改影响用户的时间
- 尝试使用 root 帐户使用 mysql 客户端登录 mysql
- 使用您自己的需要 mysql root 用户的 dataproc 初始化脚本
您可以使用以下代码段
mysqlroot_password="$(sudo grep 'password=' /etc/mysql/my.cnf | sed 's/^.*=//')"
echo $mysqlroot_password
登录mysql的三种方式
sudo su
mysql $(cat /etc/mysql/my.cnf | grep password | cut -f2 -d=)
mysql -u root -p$(sudo cat /etc/mysql/my.cnf | grep password | cut -f2 -d=)
如果您需要在脚本中多次使用密码。
mysqlroot_password="$(sudo grep 'password=' /etc/mysql/my.cnf | sed 's/^.*=//')"
mysql -u root -p${mysqlroot_password}
关于google-cloud-dataproc - 使用新的 Dataproc 图像登录 MySQL 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73226807/