2017-04-16 10 views
4

MariaDB를 우분투 LTS 16.04에 설치했습니다. 그럼 내가 실행했습니다MariaDB 경고 : 'root @ localhost'has both ... 암호가 무시됩니다.

/usr/bin/mysql_secure_installation 

및 루트 암호를 설정합니다. mysql -u root -p을 통해 DB에 액세스하면 문제가 없습니다. 그러나 service mysql status과 상태를 확인하면이 경고와 함께 로그 파일을 엽니 다

[Warning] 'user' entry '[email protected]' has both a password and an authentication plugin specified. The password will be ignored. 

질문은 다음과 같습니다

  1. 이가 걱정하거나 완전히 정상인가요?
  2. 이것이 걱정되는 경우 어떻게 해결할 수 있습니까? 을 말함으로써 당신은 시스템 루트 (또는 sudo 아래)하면서 당신이 그것을 실행하는 것을 의미 "mysql -u root -p를 통해 DB에 접근 잘 작동"경우

답변

9

그것은 정상입니다. 평범한 사용자로해서는 안됩니다.

기본적으로 Ubuntu에서 생성 된 패키지에는 로컬 루트에 대해 unix_socket 인증이 있습니다. 확인 당신은 [email protected]plugin 열에서 unix_socket을 볼 수

SELECT user, host, plugin FROM mysql.user; 

실행합니다. 대신 암호 인증을 사용하려면

, 상세한 답변 (답변을 upvote에 할 수 없다는 대한 죄송합니다)에 대한

UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket'; 
FLUSH PRIVILEGES; 
+0

감사에게 많은 실행! 그 경고를 없앴습니다. 그러나 서버 재부팅 후에 MariaDB를 재시작 한 후에 상태 로그에서'root 1045 (28000) : 사용자 'root'@ 'localhost'(암호 사용 : NO)'액세스가 거부되었습니다. 게다가'service mysql restart'를 통해 MariaDB를 다시 시작하면 더 이상 작동하지 않습니다. – FlorianL

+0

우분투는 그에 따라 다른 스크립트를 변경해야합니다. 이전에 서비스를 시작하고 모니터하는 방법은 생성 된 패스워드를 담고있는'debian.conf'를 가진 특별한'debian-sys-maint' 사용자가있었습니다. 필자가 알고 있듯이,'unix_socket'을 사용하여 시작해야하는 이유 중 하나는이 다소 어색한 유산을 제거하는 것이 었습니다. 스크립트를 계속 사용하고 싶다면 우분투가 원할 때'root @ localhost'를 유지하고 ('unix_socket'로), 패스워드 인증으로 설정하고 다른 슈퍼 유저를 추가로 생성하여 목적. – elenst