LINUX.ORG.RU
решено ФорумAdmin

Как получить хэш пароля в mysql?

 ,


1

1

В плэйбуке есть такая задача:

  - name: Change primary
    community.mysql.mysql_replication:
      mode: changeprimary
      primary_host: 192.168.56.121
      primary_user: paa
      primary_password: 2
      primary_log_file: "{{ hostvars['ubu1']['master_status']['File'] }}"
      primary_log_pos: "{{ hostvars['ubu1']['master_status']['Position'] | int }}"
      login_unix_socket: /run/mysqld/mysqld.sock

На это получил ответ, что двойку просто так поставить в качестве пароля не получится:

Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

В mysql в таблице user получил следующее:

mysql> select host, user, authentication_string from mysql.user;
+----------------+------------------+------------------------------------------------------------------------+
| host           | user             | authentication_string                                                  |
+----------------+------------------+------------------------------------------------------------------------+
| 192.168.56.122 | paa              | $A$005q_dwq/<jn]
qc,oSdD7vnkkazjR4uKuvu59my7WFYOKj6nwppCRAlD0bS6 |
| localhost      | debian-sys-maint | $A$005${G[NmA-SdZRYR*.VEh8jdLGpDJxZSaCkogdZpcG182gZjsQoDyFFBJ57vp6 |
| localhost      | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost      | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost      | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost      | paa              | *12033B78389744F3F39AC4CE4CCFCAD6960D8EA0                              |
| localhost      | root             |                                                                        |
+----------------+------------------+------------------------------------------------------------------------+

Скопировал пароль из поля authentication_string, вставил вместо двойки в таск, получил ответ:

The password provided for the replication user exceeds the maximum length of 32 characters

Что делать?


Ответ на: комментарий от firkax

При создании пользователя изменил текст запраса с

CREATE USER ‘paa’@‘192.168.56.122’ IDENTIFIED BY ‘2’;

на

CREATE USER ‘paa’@‘192.168.56.122’ IDENTIFIED WITH mysql_native_password BY ‘2’

и всё заработало. Спасибо!

paa66
() автор топика