首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ansible重新安装mariadb后无法设置根密码

问使用ansible重新安装mariadb后无法设置根密码
EN

Database Administration用户
提问于 2020-08-28 14:02:24
回答 1查看 2.7K关注 0票数 2

问题:

在重新安装mariadb 10.4之后,无法使用ansible设置根密码。

当由mariadb (不是官方debian包)从debian包中安装mariadb时,root的密码是空的,并且可以从本地主机进行无密码登录。

尽管如此,ansible mysql_user仍然抛出了以下错误:

failed: [XXX] (item=localhost) => {"ansible_loop_var": "item", "changed": false, "item": "localhost", "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-08-28 14:02:24

解决方案:

我们需要将login_unix_socket: /var/run/mysqld/mysqld.sock添加到任务中:

代码语言:javascript
复制
- name: update mysql root password for root account
  mysql_user:
    name: root
    login_unix_socket: /var/run/mysqld/mysqld.sock
    host: 'localhost'
    password: '{{ mysql_root_password }}'
    priv: "*.*:ALL,GRANT"
    check_implicit_admin: true

解释:

在通过网络连接时(这是ansible所做的),只有在使用unix进行连接时( mysql CLI在连接到localhost时才能实现),无密码登录是不可能的。所以我们需要强制ansible连接到套接字。

我希望这篇文章能节省一些人想出答案的时间。

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

https://dba.stackexchange.com/questions/274547

复制
相关文章

相似问题

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