최신버전 mariadb root 계정 패스워드 이슈 (Authentication from MariaDB 10.4)

2019년 9월 기준 MariaDB의 최신 버전에서 mysql-root 계정의 패스워드 사용에 대한 이슈(변경점)가 있음

MariaDB 버전 : 10.4

공식안내 : https://mariadb.com/kb/en/library/authentication-from-mariadb-104/

 

내용중 신경써야 하는 부분

  • 시스템root 계정에서는 더이상 패스워드를 요구하지 않음
  • user 테이블은 더이상 실제테이블로 존재하지 않음 (없는것은 아니고)
  • mysql.global_priv 테이블의 내용을 기반으로 내용만 보여줌

 

편리해 진 것

  • 기존 :  mysql -uroot -p 명령어와 패스워드 입력후 mysql콘솔 로그인
  • 변경 : 리눅스 root 계정 상태에서는 패스워드 없이 mysql 명령어 만으로 mysql-root 획득 가능
    (물론, root 가 아닌 일반 계정 상태에서는 패스워드를 요구한다)

 

문제가 되나?

ㅇㅇ 문제가 될 수 있다.
특히나 보안같은걸 강조하는 회사(및 환경)에서는 한번이라도 더 인증 과정을 거치길 바라는데
저런 상태가 되어버리면 작업자는 물론 편하지만
바라보는 이는 실눈부터 뜨는 상태가 된다.
그리고 당장 작업자인 나조차도 저런건 싫어…
명시적으로 절차가 있어야 “내가 뭔 계정으로 뭔 일을 해야지” 하는게 생기는거지…

 

참, 패스워드를 변경하는 방법중 user 테이블을 직접 건드리는 명령을 내리면

mysql> update user set password=password('hahahoho') where user='root';
ERROR 1348 (HY000): Column 'Password' is not updatable
ERROR 1348 (HY000): Column 'authentication_string' is not updatable

요런식으로 에러가 발생한다.

 

그럼 다 필요 없고 예전 환경처럼 하고 싶다면?

1. DB재생성

(혹시나 하는 얘기지만 운영중인 시스템에서 이렇게 하라는 의미가 아님.. 10.4를 새로 설치 했다면을 가정한다.)

systemctl stop mariadb
rm -fr /var/lib/mysql
mysql_install_db --auth-root-authentication-method=normal


 

2. mysql root 패스워드 변경

MariaDB> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
or
MariaDB> set password = password("password");

 

3. 그다음 테스트를 해보자

root 계정 상태에서 “mysql”이라는 명령어 만으로 로그인이 되는지
그리고 일반 계정 상태에서 정상적인 로그인이 되는지…

 

 

 

 

 

 

 

About KENNETH 14086 Articles
지락문화예술공작단

Be the first to comment

Leave a Reply

Your email address will not be published.


*


이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.