본문 바로가기

Database/mariaDB administrator

mysql 설치 후 root 접속이 안될때 조치방법 쉽게 알려드립니다. | sTricky

mysql 설치 후 root 접속이 안될때 조치방법 쉽게 알려드립니다. sTricky

안녕하세요.
방금 mysql을 설치 하셨는데 root로 접속을 하려 했더니 서버에 접속하여 cmd로 접속 할때는 잘 되는데, workbench나 dbever, sqlyog 등으로 클라이언트 접속을 시도하면 안되시는 상황이실것 같습니다.
이는 지극히 정상적인 상황 입니다.
쉽게 이 증상을 해결 할 수 있는 방법은 알려 드리도록 하겠습니다.
그럼 따라오시죠!!

mysql.user 살펴보기

우선 서버에 cmd로 접속을 하셔서 root로 mysql에 로그인 하여 아래 SQL을 실행 시켜 보세요.

select * from mysql.user;

방금 설치를 한 mysql 이라면 아마 아래와 같은 데이터가 출력 되실꺼에요.

mysql.user

핑크색 상자안에 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

 

[mariadb] 유저별 권한 관리, 권한 목록 종류, DB 권한 관리의 필요성, 권한 조회

안녕하세요. 요즘 새로운 회사에 적응을 해가고 있습니다. 오늘은 mariadb 에서 계정을 생성하고, 각 계정별 권한을 부여하는 업무를 진행 합니다. DB를 관리 함에 있어서 계정은 일종의 방화벽 역

stricky.tistory.com

마무리

우선 위와 같이 서버에서 root로 mysql에 접속을 했고, 계정을 생성 하셨고, 권한까지 부여하였다면, 이젠 본인의 PC에서 orkbench나 dbever, sqlyog 등으로 클라이언트 접속을 시도해보시면 잘 되실 겁니다. 물론 새로만든 계정으로 하셔야 겠죠. 그리고 아래 링크에서 mysql 기초 SQL 강의를 한번 쭉 따라서 해보시면 많이 실력이 향샹 되실겁니다. 감사합니다!

https://stricky.tistory.com/333

 

MySQL SQL 독학 강의 전체 A to Z

MySQL SQL 독학 강의 A to Z MySQL SQL 독학 강의를 마치며.. 안녕하세요. sTricky입니다. 2002년 3월 17일에 시작했던 MySQL SQL 독학 강의가 25편을 마지막으로 대장정의 막을 내렸습니다. 물론, 아직 다루지..

stricky.tistory.com

by.sTricky