mysql -u root가 작동하지 않지만 sudo mysql -u root가 작동하는 이유는 무엇입니까?


9

최근에 몇 가지 자습서를 따라 sudo apt-get install mysql-server-5.7을 사용하여 mysql을 설치했습니다.

다음 명령을 실행하여 비밀번호를 사용하여 데이터베이스에 연결할 수 있습니다.

sudo mysql -u root -p

다음을 실행하여 연결을 시도합니다.

mysql -u root -p

하지만 오류가 발생합니다.

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

왜? 이 문제를 어떻게 해결할 수 있습니까?


2
친애하는 downvoter, 당신은 또한 downvote에 대한 이유를 떨어 뜨릴 수 있습니까, 왜 이것이 멍청한 질문인지 설명 할 수 있습니까?
user1379280

관련이있을 수 있습니다. 답변의 일부를 살펴보십시오 : askubuntu.com/questions/766334/…
Terrance

설치하는 동안 mysql의 루트 비밀번호를 설정 했습니까?
스틸 드라이버

@steeldriver : 예 내가 했어요
user1379280

답변:


24
  1. sudo로 액세스 : sudo mysql -u root -p
  2. 루트 사용자를 삭제하십시오. drop user 'root'@'localhost';
  3. 루트 사용자를 다시 작성하십시오. create user 'root'@'%' identified by 'your_password';
  4. 권한 부여 : grant all privileges on *.* to 'root'@'%' with grant option;
  5. 권한 테이블 업데이트 : flush privileges;
  6. MYSQL을 종료하고 sudo없이 다시 연결해보십시오.

글꼴 : 우분투 16.04의 일반 사용자 계정에서 mysql 사용자 루트로 로그인 할 수 없습니다


감사! 이 단계는 나에게도 효과가 있었고 sudo지금은 mysql을 사용할 필요가 없습니다 ! 호스트 localhost를 교체하여 %문제 가 해결 된 것 같습니다.
Vikram Hosakote

하지만 여전히 원격으로 액세스 할 수 없습니다
Ciasto을 piekarz

나를 위해 일하지 않았다, 지금 나는 sudo의 유무에 관계없이 들어갈 수 없다!
David Powell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.