source

RMariaDB: MySQL에 연결할 때 caching_sha2_password 오류가 발생했습니다.

manysource 2023. 8. 23. 21:51

RMariaDB: MySQL에 연결할 때 caching_sha2_password 오류가 발생했습니다.

R(Ubuntu 16.04 이하)과의 데이터베이스 연결을 사용하는 것이 처음이라 문제가 발생하고 있습니다.온라인에서 본 설명서에 따라 다음과 같은 방법을 사용해 보았습니다.

con <- DBI::dbConnect(RMySQL::MySQL(),  
             dbname='IFsHistSeries',   
             host='127.0.0.1')

이로 인해 다음과 같은 오류 메시지가 표시되었습니다.

Failed to connect to database: Error: Can't initialize character set unknown (path: compiled_in)

제가 구글을 사용하여 찾을 수 있었던 것으로 보아 RMiaDB가 RMySQL보다 더 최신인 것 같아서 대신 시도해 보았습니다.

con <- DBI::dbConnect(RMariaDB::MariaDB(),
             dbname='IFsHistSeries',
             host='127.0.0.1')

이로 인해 동일한 암호화 오류 메시지가 표시되었습니다.

Failed to connect: Plugin caching_sha2_password could not be loaded: 

그래서 저는 정말 어리석은 것을 시도했습니다. https://downloads.mariadb.org/mariadb/repositories/ 의 지침을 사용하여 MariaDB를 설치하는 것입니다.MySQL을 완전히 파괴하는 데 성공한 몇 가지 종속성 문제가 있어서 이제 더 이상 아무 것도 작동하지 않습니다.MySQL과 MariaDB를 완전히 제거하고 처음부터 다시 시작할 계획입니다.제가 다음 번에 알고 싶은 것은 다음과 같습니다.

  • MariaDB를 설치해야 합니까?아니면 일반 MySQL이 RMariaDB와 함께 작동할까요? (두 데이터베이스 간의 관계는 저를 약간 혼란스럽게 합니다.)
  • caching_sha2_password 플러그인이 작동하도록 MySQL을 설정할 때 특별한 작업을 수행해야 합니까?이것이 제가 처음에 루트 사용자의 암호를 설정한 방식과 관련이 있는지 걱정됩니다.

어떤 아이디어라도 도움이 될 것입니다.감사합니다!

--비공식적인

좋아요... 이게 효과가 있는 것 같았어요먼저 MySQL과 MariaDB를 제거하고 https://dev.mysql.com/downloads/mysql/ 에서 다운로드하여 8.0.12 MySQL을 설치하고 https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html 의 지침을 따릅니다.

모든 드라이버를 제거하고 unixODBC sudo apt-get remove unixodbc unixodbc-devddsodbc odbc odbc-dbc-postgresql libmyodbc libsqlite odbc sudo apt-get install unixodbc-dev

이전에 설치했을 때 문제가 발생했습니다.libmariadbclient-dev대신에, 나는 달렸습니다.

sudo apt-get install libmariadb-client-lgpl-dev

이렇게 하면 MySQL을 중단하지 않고 MariaDB 클라이언트를 설치할 수 있습니다.저는 둘 사이의 차이점이 무엇인지 정말 모르겠습니다.

오류를 제거하기 위해 사용caching_sha2_password플러그인, MySQL 서버를 시작할 때 기본 인증 모드를 변경해야 했습니다.

sudo ./mysqld_safe --user=mysql --default-authentication-plugin=mysql_native_password &

이 시점에서, 나는 도망갈 수 있습니다.

con <- dbConnect(RMariaDB::MariaDB(),
                 host='127.0.0.1',
                 user='root',
                 password='password')

아무 문제 없이.

는 mysql_native_password로 작성할 수 .default-authentication-plugin내 .cnf 파일로.

언급URL : https://stackoverflow.com/questions/51567604/rmariadb-caching-sha2-password-error-when-connecting-to-mysql