iT邦幫忙

0

通过 Ansible 的 mysql_user 模块初始化 Mysql 数据库报错

  • 分享至 

  • xImage

请问通过 ansible 的 mysql_user 模块初始化数据库(更改root 用户密码)报错,提示 “Access denied for user 'root'@'localhost' (using password: NO)”,这个是怎么回事?

TASK [Create user and set password] *****************************************************************************
fatal: [192.168.1.230]: FAILED! => {"changed": false, "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1045, \"Access denied for user 'root'@'localhost' (using password: NO)\")"}

这个是 task 内容,我已经加了 login_user 了,默认密码为空,所以 login_password 也为空了。

    - name: Assign password to mariadb root user
      mysql_user:
        login_user: root
        login_password: ''
        login_host: localhost
        name: root
        host_all: yes
        update_password: always
        password: P@ssw0rd

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0

首先,你要先了解MYSQL如未去做特定的安全性調整。
預設會有幾項限制

  1. 不能使用空密碼登入
  2. ROOT帳號不允許外部連線登入。(這點是包含localhost的連線)

這邊看來,你使用了root。且又是空密碼。
有很大的可能性會被制登入。

as900 iT邦研究生 4 級 ‧ 2022-11-27 11:36:18 檢舉

请问,如果我想直接通过 Ansible 去改这些限制,应该怎么改?

我要發表回答

立即登入回答