MariaDB on Debian:구문 오류:unix 소켓 인증을 패스워드 베이스로 되돌리는 방법
저는 방금 Mariadb를 새로운 unix 시스템에 설치했습니다(Mariadb 서버 버전 10.1.37 Debian 9.6).사용자는 다음과 같습니다.
+------------+-----------------------+-------------+-----------+
| user | authentication_string | plugin | host |
+------------+-----------------------+-------------+-----------+
| root | | unix_socket | localhost |
| phpmyadmin | | | localhost |
+------------+-----------------------+-------------+-----------+
(unix_socket 플러그인을 사용하지 않고) 패스워드를 사용하여 'root'로 로그인할 수 있도록 하고 싶습니다.ALTER USER 명령어를 사용하여 패스워드 기반 인증으로 변경하려고 했습니다.루트 계정에서 "sudo mysql"을 사용하여 MariaDB를 입력합니다.그런 다음 다음 각 명령을 시도했습니다.
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH
mysql_native_password BY 'mypassword';
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED VIA
mysql_native_password BY 'mypassword';
MariaDB [(none)]> ALTER USER root@localhost IDENTIFIED VIA
mysql_native_password;
SET PASSWORD = PASSWORD('mypassword');
MariaDB [(none)]> ALTER USER root@localhost IDENTIFIED WITH
mysql_native_password;
SET PASSWORD = PASSWORD('mypassword');
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH
mysql_native_password;
SET PASSWORD = PASSWORD('mypassword');
어느 경우든 ERROR 1064(42000):SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서에서 1행의 '...' 근처에서 사용할 올바른 구문을 확인하십시오.
루트 로그인을 소켓에서 패스워드 기반으로 변경하는 올바른 구문 및 방법은 무엇입니까?어떤 도움이라도 주시면 감사하겠습니다.
MariaDB 또는 MySQL을 새로 설치한 것 같습니다.
설치 후 root에서 다음 명령을 실행하면 됩니다.
mysql_secure_install
또는 다음과 같이 입력합니다.
sudo mysql_secure_install
설명서를 읽으면서 마리아DB는 auth socket 기능을 만들었습니다.
따라서 플러그인을 제거해 보십시오.
UNINSTALL SONAME 'auth_socket';
및/또는 네이티브 비밀번호 인증으로 전환:
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
이 경우에도 동작하지 않는 경우는, 유저 테이블의 플러그인 필드를 비우고, 권한을 플래시 해 주세요.
USE mysql;
UPDATE user SET plugin='' WHERE user ='root';
FLUSH PRIVILEGES;
사파리, 탐색, 검색 및 검색 세션이 끝나면 다음 3가지 명령을 사용하여 다음 질문에 언급된 MariaDB 사례를 확인할 수 있습니다.
mysqld_safe --skip-grant-tables --skip-networking &
UPDATE user SET plugin='' WHERE user ='root';
UPDATE mysql.user SET
authentication_string = PASSWORD('UNCOMPROMISABLE_STRONGHOLD_PASSWORD')
WHERE User = 'root' AND Host = 'localhost';
언급URL : https://stackoverflow.com/questions/54394618/mariadb-on-debian-syntax-error-how-to-switch-unix-socket-authentication-back-t
'programing' 카테고리의 다른 글
각 데이터 점에 다른 텍스트가 있는 산점도 (0) | 2022.11.10 |
---|---|
무결성 제약 조건 위반: 1452 하위 행을 추가하거나 업데이트할 수 없습니다. (0) | 2022.11.10 |
bash에서 MySQL 명령을 실행하는 방법 (0) | 2022.11.10 |
빈 결과 세트를 선택하려면 어떻게 해야 합니까? (0) | 2022.11.10 |
jQuery를 사용하여 동적 HTML 요소에 이벤트를 첨부하려면 어떻게 해야 합니까? (0) | 2022.11.10 |