MariaDB를 설치했는데 user 등록이 제대로 되지 않습니다.
DB를 설치하고 mysql 데이터베이스에 들어가서 user 테이블을 조회해보면
user | host | password
----------------------------------------------
root | localhost |
root |127.0.0.1 |
root | ::1 |
(비어있습니다)| localhost |
이런 식의 구조로 되어있습니다. 마지막 user는 이름이 없습니다.
이제 mysql을 종료하고 리눅스 터미널에서 여기에 하나의 user를 추가하는 쿼리를 적어놓은 sql 파일을 불러왔습니다.
sql파일안엔 대략 이런식으로 쿼리가 구성되어있구요.
CREATE USER '유저아이디'@'%' IDENTIFIED BY '비번';
GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER ON *.* TO '유저아이디'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SHOW GRANTS FOR '유저아이디'@'%';
이렇게 하면 분명히 유저아이디와 비번 등이 추가가 됩니다.
그런데 mysql -u 유저아이디 를 입력하면 비밀번호 입력하라는 메세지도 없이 들어와버리질 않나..
show databases를 입력하면 타 DB는 보이지도 않고..
mysql -u 유저아이디 -p비밀번호 를 입력할 경우
Access denied for user '유저아이디'@'localhost' (using password : Yes) 가 떠버리네요.
이게 분명 윈도우에서 할 때는 별 문제가 없었는데..
왜 리눅스상에선 이런 문제가 생기는지 잘 모르겠습니다.
게다가 상단의 user 테이블에서 user명이 없는 row를 지우면 유저아이디의 접속이 제대로 동작한다는게 어이가 없네요.
도대체 무슨 문제이길래 이러는지 모르겠습니다.
댓글 달기