2020-08-11 16:37:16 1165324 [Warning] 'user' entry 'root@mariadb-node03' ignored in --skip-name-resolve mode.
2020-08-11 16:37:16 1165324 [Warning] 'user' entry 'root@localhost.localdomain' ignored in --skip-name-resolve mode.
2020-08-11 16:37:16 1165324 [Warning] 'proxies_priv' entry '@% root@mariadb-node03' ignored in --skip-name-resolve mode.
운영하는 데는 당장 큰 영향이 없다고 한다.
그러나 이것 때문인지는 모르겠지만 MariaDB를 galera로 클러스팅해놓은 상태에서
이러한 문제들이 성능에 영향을 주는 것 같은 찝찝함 때문에 수정은 해야겠다
(사실 성능에 영향을 준건 다른 문제였다...)
mysql 설정 파일에는 skip-name-resolve = ON 으로 설정되었는데
skip-name-resolve라는 옵션이 어떤 기능을 하는지 먼저 알아보았다.
skip-name-resolve옵션을 사용하면 호스트이름(도메인)을 사용하는게 아닌 IP 주소로만 사용하겠다는 의미로
Host에 IP로만 사용을 해야한다.
다른 사람의 경우는 아래와 같은 내용으로 설명돼있는데 출처가 어딘지 잃어버렸다
참고만 하자
DNS 호스트 이름 조회를 비활성화하려면 skip_name_resolve 시스템 변수를 활성화한 상태에서 서버를 시작합니다. 이 경우 서버는 연결 호스트를 MySQL 부여 테이블의 행과 일치시키기 위해 호스트 이름이 아닌 IP 주소만 사용한다. IP주소를 사용하여 해당 테이블에 지정된 계정만 사용할 수 있다.(클라이언트 IP 주소를 지정하는 계정이 없는 경우 클라이언트가 연결하지 못할 수 있다.)
해결방법은
1. user , proxiex_priv 테이블에 해당 host 내용 삭제
-> 가장 간단하고 직관적이다
나의 경우는 다른 프로그램에서 사용하는 기능이 권한 문제때문에 동작하지 않는 경우가 많아 추가하지 않아도 될 user에 대한 접근권한을 설정해놨던거라 실제 프로그램 동작시 필요없는 거라 판단되어 바로 삭제했다. 다른 경우가 있을지 모르니 확인해보고 삭제하는게 좋겠다.
2. skip-name-resolve 옵션을 해제하고 DB재기동
-> 이경우 도메인을 보고 IP를 찾아가서 다시 정보를 받아오는 형식이라 성능이 느려질 수도 있고, 해킹의 위험이 있다고 보안상 추천하지 않는다고 한다(중국에서 이런경우가 있었나 보다)
'Linux - offline(CentOS 7) > MySQL, MariaDB, Galera' 카테고리의 다른 글
[MySQL] MariaDB Galera Cluster 실행 실패(SST rsync time out) (0) | 2020.11.12 |
---|---|
[mariadb galera] mysql.service start operation timed out. Terminating (0) | 2020.08.18 |
mysql 'The table is full', error code : 1114 (0) | 2020.08.18 |
MariaDB Galera GRA_ log파일 (0) | 2020.08.13 |