首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Docker容器的AlpineLinux上没有密码无法禁用mysql登录

问在Docker容器的AlpineLinux上没有密码无法禁用mysql登录
EN

Stack Overflow用户
提问于 2021-06-02 05:04:59
回答 1查看 656关注 0票数 0

我真的被困住了我需要你的帮助。

我的项目是建立Wordpress安装了3个容器的网站: Nginx,Wordpress+ php-fpm和mysql上的Docker。所有的容器都是建立在高山上的:最新图片。

我成功地启动了网站,除了一件事:禁用mysql登录没有密码。

我的mysql容器在以下条件下工作:

  • 基础图片:阿尔卑斯山:最新
  • 软件包: mysql、mysql-client
  • 版本: mariadb 15.1远端10.5.9-MariaDB,for Linux (x86_64),使用readline 5.1

我相信我已尝试了足够的解决办法,例如:

  • 在根用户SET PASSWORD FOR 'root'@'localhost' = PASSWORD('xxxxxx');上设置密码
  • 删除匿名用户
  • 检查/etc/my.cnf上是否有用户和密码的描述
  • 将根主机从“localhost”更改为“%”

但是,我可以在root用户上不使用密码登录。

这是我做这三件事后的截图。

如您所见,root用户有密码,但我可以在root用户上不输入任何密码就登录。

​

​

我想要的是这样的:

代码语言:javascript
复制
# mysql - u root
Enter Password: // Just enter 'Enter'
ERROR: Access denied for user 'root'@'localhost' (using password: No)

我真的很感激你的帮助。

更新: 2021-06-02

我尝试使用debian:buster创建一个类似的条件,因为正式的mysql停靠程序使用debian:buster-slim。这是正式mysql图像。

  • 基本图片: debian:buster
  • 包:默认-mysql-server

通过在root用户上设置密码,我轻松地实现了禁用mysql登录,无需密码。

所以我想知道是不是因为高山..。

EN

回答 1

Stack Overflow用户

发布于 2021-06-02 07:17:54

有多种方法可以这样做,我不确定这是否适用于从应用程序端访问服务器,但是您可以通过在OS级别存储这个用户和密码来访问mysql提示符。

  1. 使用~/.my.cnf文件的客户端部分,并在那里添加凭据。

client user=root password=somepassword

  1. 您可以向/etc/my.cnf添加一个新的部分客户端,还可以在client标记下添加凭据。

client user=root password=somepassword

  1. 使用编辑器的无密码身份验证

shell> mysql_config_editor set --登录路径=dbadmin_local --host=localhost --user=dbadmin --密码输入密码:

您可以通过更改登录路径添加多个主机名和密码。如果密码被更改,您可以再次运行此实用程序,更新文件中的密码:

shell> mysql_config_editor set --登录-path=dbadmin_ host=35.186.157.16 --用户=dbadmin-密码输入密码:

如果您想使用dbadmin用户登录35.186.157.16,只需执行mysql --login-path=dbadmin_remote:

shell> mysql --登录-path=dbadmin_remote

要连接到本地主机,只需执行mysql即可。

shell> mysql

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67799209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档