뽀미의 개발노트

eXERD에서 리버스 엔지니어링으로 mysql 가져오기 오류 해결 본문

Trouble_Shooting

eXERD에서 리버스 엔지니어링으로 mysql 가져오기 오류 해결

산타는 뽀미 2023. 6. 29. 16:06

온라인 erd 툴인 AqueryTool에서는 테이블 갯수가 한정되어 있어서 eXERD라는 프로그램을 사용해서 ERD를 작성하려고 한다!!

프로그램 설치 후 테이블을 다 손수 적어야하는 건가 했는데 mysql을 연결해주면 자동으로 테이블을 가져와준다길래 연결을 시도했다.

그런데 이름 root로 하고 비밀번호 없으니까 냅두고 테스트 연결 눌렀는데 비밀번호를 꼭 설정하라고 했다.

그래서 새로운 계정을 만드려고 했는데 권한 부여하고 FLUSH PRIVILEGES; 명령어만 입력하면 자꾸 Got error 176 "Read page with wrong checksm" from storage engine Aia 라는 오류가 뜨는것!!!!!!

계정 삭제했다가 다시 깔아도 보고 어떤 곳에서는 root 계정에 비밀번호가 없으면 새로운 계정을 생성할 수 없다길래 root@localhost의 비밀번호를 생성해주고 새로운 계정 만들고 또 FLUSH PRIVILEGES; 해봤지만 여전히 같은 오류가 떴다.

USE mysql; 하고 SELECT * FROM USER; 쳐보면 새롭게 생성한 계정이 다른 계정들과 다 똑같은데 Grant_Priv 칼럼만 다른애들 Y인데 새로만든 계정은 N인것!!!

그래서 절망했다가 그래도 수정삭제 되나 해보자 하고 데이터 INSERT도 해보고 테이블 CREATE도 해보았는데 놀랍게도 다 잘 되었다... 그래서 기뻐하면서 eXERD 돌아가서 새롭게 생성한 계정의 사용자이름과 비밀번호를 잘 입력했는데 갑자기!! 이번에는 또 Driver를 찾을 수 없다는것...

애초에 드라이버 설정할때 내컴퓨터에서 jdbc를 검색하니 JDBCInterface.jar 파일 하나만 나오길래 그걸로 설정했었는데 이것 때문에 안 되나싶어 검색했더니 어떤 블로그에서는 mysql-connector-j.jar 파일을 드라이버로 선택했다!

내 sts의 POM.xml 파일에 mysql-connector-j maven dependancy가 있었던 것이 기억났다. 그리고 수업 들을 때 필기했던 데에서 검색해보니 그 파일을 다운받은 적이 있다고 되어있던것!!! 그래서 쌤한테 다시 여쭤보니 스프링으로 했을 때는 아예 파일을 다운받아서 build path 해줬었고 스프링부트로 넘어오면서 그냥 dependancy만 복붙해서 썼었던 거라고 하셨다.

그래서 언젠간 저 파일을 다운받았겠거니 하고 검색했는데 안 나오길래 그냥 maven repository 가서 새롭게 다운받았다. 아직 이전 파일이 존재하는지 파일 이름 뒤에 (1)이 붙어서 다운받아졌다. 암튼 걔는 내컴퓨터-C드라이브-xampp-mysql 폴더로 옮겨줬당

어쨌든 다시 eXERD로 넘어와서 다운받은 드라이버로 다시 설정해주었다. 근데 그럼 드라이버 클래스 네임이 com.mysql.cj.jdbc.Driver 라고 자동 설정되는데 내가 쓰던 sts4 POM 설정에서는 com.mysql.jdbc.Driver라고 되있어서 헷갈렸는데 쌤께서 cj는 붙어도 안 붙어도 되는거라고 하셨다.

암튼 그렇게 설정하고 테스트 연결을 누르니 드디어!!!!!! eXERD에 mysql이 연결되었고 자동으로 테이블도 다 불러와졌다. 흐어엉엉ㅇㅇ엉 토마토 나빠

아무튼 이제 ERD 작성했으니 포트폴리오 작성할 때 넣어야지 히힛!!!!