안녕하세요.
방금 mysql을 설치 하셨는데 root로 접속을 하려 했더니 서버에 접속하여 cmd로 접속 할때는 잘 되는데, workbench나 dbever, sqlyog 등으로 클라이언트 접속을 시도하면 안되시는 상황이실것 같습니다.
이는 지극히 정상적인 상황 입니다.
쉽게 이 증상을 해결 할 수 있는 방법은 알려 드리도록 하겠습니다.
그럼 따라오시죠!!
mysql.user 살펴보기
우선 서버에 cmd로 접속을 하셔서 root로 mysql에 로그인 하여 아래 SQL을 실행 시켜 보세요.
select * from mysql.user;
방금 설치를 한 mysql 이라면 아마 아래와 같은 데이터가 출력 되실꺼에요.
핑크색 상자안에 localhost, root 라고 써 있는것을 확인 할 수 있을겁니다.
여기에서 localhost란 mysql이 설치된 서버를 이야기 합니다. root라는 계정은 mysql이 설치된 서버에서만 접속이 가능 하다는 이야기 입니다.
그러니, 서버가 아닌 다른 곳에서 접속을 시도하시면 당연히 접속이 안되는것 입니다.
그럼 해결 방법을 찾아 봐야 겠네요.
외부에서 접속이 가능한 계정 생성
외부에서도 접속이 가능하도록 계정을 생성 하면 이 문제는 깔끔하게 해결이 됩니다.
계정을 생성 하는 명령은 아래와 같습니다.
-- 어디서나 접속이 가능한 계정 생성 방법
CREATE USER 'my_account'@'%'
IDENTIFIED BY 'password';
-- 특정 ip에서만 접속이 가능한 계정 생성 방법
CREATE USER 'my_account'@'123.123.123.123'
IDENTIFIED BY 'password';
자, 위와 같이 두가지 방법이 있습니다. 물론 my_account 부분에는 본인이 원하시는 계정명을 써주시면 되고, password 부분에는 하고 싶은 비밀번호를 써주시면 됩니다.
위 명령에도 써 있지만, @ 뒤에 오는 부분이 바로 접속지를 확인 하는것 인데요. 여기에 '%'를 넣으면 어디서나 접속이 가능 하도록 하게 해줍니다. 어떤 아이피에서 접속을 하더라도 이 mysql에 접속을 할 수 있는것 이죠.
이게 싫으시면, 본인의 PC IP를 '%' 대신 써주시면 해당 IP에서만 접속이 가능 하도록 할 수있습니다.
이렇게 커맨드를 하시고, 끝이 아닙니다.
이 모든 과정은 서버에 cmd로 접속 하고, root로 mysql에 로그인 하여 실행 하시면 됩니다.
계정 권한 부여
계정을 만드셨다면, 만든 계정에 권한을 부여해야 되겠죠.
권한을 부여하기 위해서는 아래 커맨드를 실행 하시면 됩니다.
GRANT ALL PRIVILEGES ON * . * TO 'my_account'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
위 커맨드를 보면 모든 스키마와 모든 테이블의 모든 권한을 my_account에 주고, my_account에 권한을 부여할 수 있는 권한까지 주겠다는 의미 입니다.
아래 FLUSH PRIVILEGES; 도 꼭 해주셔야 권한 부여가 완료 됩니다.
그리고 권한에는 많은 종류가 있는데, 더 자세하게 아시고 싶으시면 아래 링크로 이동하셔서 확인 하시면 됩니다.
https://stricky.tistory.com/110
마무리
우선 위와 같이 서버에서 root로 mysql에 접속을 했고, 계정을 생성 하셨고, 권한까지 부여하였다면, 이젠 본인의 PC에서 orkbench나 dbever, sqlyog 등으로 클라이언트 접속을 시도해보시면 잘 되실 겁니다. 물론 새로만든 계정으로 하셔야 겠죠. 그리고 아래 링크에서 mysql 기초 SQL 강의를 한번 쭉 따라서 해보시면 많이 실력이 향샹 되실겁니다. 감사합니다!
https://stricky.tistory.com/333
by.sTricky
'Database > mariaDB administrator' 카테고리의 다른 글
replace into & insert into 차이점, 주의할점이 무엇인지 쉽고 간단하게 확인하기 (3) | 2021.03.18 |
---|---|
mysql 커버링 인덱스란 무엇인가? | sTricky (4) | 2021.01.28 |
datagrip 편의 기능 지원 DBMS 소개 및 사용법 | sTricky (0) | 2021.01.20 |
Mysql Mariadb full-text 풀텍스트 검색 방법 자세히 알아보기 (0) | 2021.01.13 |
MySQL select 결과 csv 파일로 저장 하기 (0) | 2020.12.11 |