gpt4 book ai didi

mysql - 如何设置mysqladmin默认用户和密码?

转载 作者:行者123 更新时间:2023-11-29 18:33:55 35 4
gpt4 key购买 nike

全新安装的 mysql 默认设置为 root使用密码:NO。但是,在我的系统上,您可以成功运行 mysqladmin ping ,尽管 mysqladmin ping -u root 会失败。这告诉我 mysqladmin 正在从某处读取用户/密码。

我正在尝试在另一个系统上重新创建它。我知道用户名和密码,并且可以在新服务器上成功执行 mysqladmin ping -u myuser -p 'mypass',但我需要对其进行设置,以便 mysqladmin ping单独即可工作,无需显式传递 myusermypass

编辑:

以下是一些输出,展示了新旧系统之间的差异(最后一行是唯一的差异):

旧服务器

$ mysqladmin ping -u root
/junk/mysqladmin.orig: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

$ mysqladmin ping -u myuser
mysqld is alive

$ mysqladmin ping
/junk/mysqladmin.orig: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

新服务器

$ mysqladmin ping -u root
/junk/mysqladmin.orig: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

$ mysqladmin ping -u myuser
mysqld is alive

$ mysqladmin ping
mysqld is alive

最佳答案

我找到了一个临时解决方法,但它肯定不理想。 mysqladmin 可以用附加用户/密码详细信息的 bash 函数重载。

我不认为这是在我的旧服务器上完成的,因为我已经浏览过 .bashrc.bash_profile 等。

mysqladmin() {
if [[ $@ == "ping" ]]; then
command mysqladmin ping -u myuser -p mypass
else
command mysqladmin "$@"
fi
}

这很糟糕,因为:

  1. 以明文形式存储的密码
  2. 不适用于其他脚本,这些脚本可能无法从您的 .bashrc 加载此脚本
  3. 其他人可能没有意识到您已经修改了mysqladmin的行为

关于mysql - 如何设置mysqladmin默认用户和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45469530/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com