mariadb를 설치했으며 Linux 루트 사용자인 경우 mysql 명령을 실행하여 데이터베이스에 액세스할 수 있습니다. 하지만 일반 Linux 사용자로 로그인하고 실행하려고 하면 mysql -u root -p
오류가 발생합니다.
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
mysql 루트 사용자의 비밀번호 재설정과 같은 여러 방법을 시도했지만 소용이 없었습니다.
어떤 도움이라도 좋을 것입니다.
답변1
나도 같은 문제를 겪었는데, 이는 "mysql.user" 테이블의 "플러그인" 값으로 인해 발생했습니다.
이 답변을 사용해 보셨습니까?https://askubuntu.com/a/636579/299538
이에 대한 설명은 다음과 같습니다.https://superuser.com/a/1071043/592085
답변2
MariaDB에서는 일반 사용자로 로그인할 수 없으며 루트 액세스 또는 sudo
. 또 다른 솔루션은 전체 권한을 가진 다른 루트 사용자를 추가하는 것입니다.
sudo를 사용하여 db에 연결합니다.
sudo mysql -u root
현재 DB에서 귀하의 계정을 확인하십시오.
mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | localhost |
사용자 다시 만들기 root
(필요한 경우 비밀번호 사용):
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';
허락하다:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
플러시:
mysql> FLUSH PRIVILEGES;
데이터베이스 용도 표시:
SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host |
+------+-----------+
| root | % |
| root | localhost |
+------+-----------+
종료하고 일반 사용자와 연결합니다.
mysql -u root