programing

MySQL 인증 플러그인을 'caching_sha2_password'로 변경합니다.

nicescript 2022. 12. 29. 22:01
반응형

MySQL 인증 플러그인을 'caching_sha2_password'로 변경합니다.

나는 달리고 있다xampp 7.4.1-1을 타고Ubuntu 18.4 LTS기계.

리모트 데이터베이스에 접속하려고 하면, 다음의 경고가 표시됩니다.

Warning: mysqli::__construct(): Unexpected server response while doing caching_sha2 auth: 109 in /home/admin/Desktop/Code/project/src/testMySQLConnection.php on line 2

내 파일은 다음과 같습니다.

<?php
$mysqli = new mysqli("127.0.0.1", "root", "myPassword", "test_db", 3306);

/* check connection */
if ($mysqli->connect_errno) {
    mysqli_debug("/home/admin/Desktop/client.trace");
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

위의 경고를 수정하기 위해 다음을 시도했습니다.

admin@admin-VirtualBox:~$ /opt/lampp/bin/mysql -u root
Warning: World-writable config file '/opt/lampp/etc/my.cnf' is ignored
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 72
Server version: 10.4.11-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------+-----------------------+--------+-----------+
| user | authentication_string | plugin | host      |
+------+-----------------------+--------+-----------+
| root |                       |        | localhost |
| root |                       |        | 127.0.0.1 |
| root |                       |        | ::1       |
|      |                       |        | localhost |
| pma  |                       |        | localhost |
+------+-----------------------+--------+-----------+
5 rows in set (0.002 sec)

MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'BY ''' at line 1
MariaDB [(none)]> 

그러나 위의 오류가 발생합니다.

MySQL 인증 플러그인 변경 방법 제안caching_sha2_password?

답장 고마워요!

https://mariadb.com/kb/en/alter-user/ 를 참조해 주세요.

구문은 다음 형식 중 하나입니다.

ALTER USER 'root'@'localhost' IDENTIFIED BY '';

ALTER USER 'root'@'localhost' IDENTIFIED BY PASSWORD '*975B2CD4FF9AE554FE8AD33168FBFC326D2021DD';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password USING '*975B2CD4FF9AE554FE8AD33168FBFC326D2021DD';

그리고 몇 가지 다른 양식들도요하지만 넌 섞이고 있어BY와 함께USING마리아DB가 알아채지 못하는 방식으로요

언급URL : https://stackoverflow.com/questions/66591333/change-mysql-authentication-plugin-to-caching-sha2-password

반응형