맥북 사용자가 mysql이 닷홈에서 연결이 안될 때
이 포스팅도 나처럼 고생하신 분들에게 큰 도움이 되었으면 좋겠다. 정말 많이 찾아봤고, 정말 많은 시도를 했다. 허나 맥북 (mac os)에서 따라하는게 이렇게 힘들거라곤 생각도 못했다. 친구한테 정말 똑같은 소리를 많이 들었다.
개발 할려면 맥북 팔고 윈도우 노트북이나 데스크탑 사라고...
허나 이 예쁜걸 어떻게 포기를 해... 나는 맥북 안에서 해결방안을 찾고 나의 개발 커리어를 이어나갈 것이다.
이 글은 php, 아파치, phpmyadmin, mysql, mysql workbench 등이 다 설치되어 있고, 연결도 되어 있으며, 어느 정도 사용했던 사람을 위해 포스팅 되어있다.
이것들을 사용하다가 닷홈(dothome)에 올려서
다른 사용자들도 사용하게 하고싶은데 안될 때 사용하는 방법이다.
분명히 나의 컴퓨터에서 php로 접속(localhost/~username 혹은 127.0.0.1/~username)하여 들어가 잘 구현하고 완성하여 처음에 파일질라로 닷홈(dothome)에 파일을 올려서 구현을 해보았다.
1. 데이터 베이스를 workbench(워크벤치)로 구축을 하고 db연결 코드를 이렇게 작성하였다.
비밀번호와 사용테이블명은 자신의 것을 쓰면 된다.
<?php
header('Content-Type: text/html; charset=UTF-8');
$conn = mysqli_connect("localhost", "root", "비밀번호", "사용 테이블명") or die("데이터 베이스 연결 실패 !");
?>
2. DB를 사용하는 페이지에 들어가서 실행해 보았더니...?
Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in /host/home5/soeg0810/html/login/include/dbconn.php on line 3
데이터 베이스 연결 실패 !
이런 에러가 뜨는 것이 아닌가..? 뭐냐 이 에러는 도대체... 그래서 구글링을 해보았다.
찾아보니 접근 허용이 안되었다고 한다. 그래서 이 곳 저 곳 찾아보니
using password: YES 이것이 비밀번호가 틀렸다는 뜻이였다.
비밀번호를 적는 칸에 혹시 "비밀번호" 👈🏻 이렇게 " " 큰 따옴표를 안한 사람은 따옴표를 넣고 한 번 실행해보세요. 될 수 도 있습니다 !
허나 나는 따옴표도 잘 넣었고, 비밀번호에도 오타가 없다... 그럼 도대체 뭐냐고....!!!!!
3. localhost 대신 ip주소를 넣어야하나 ?
그래서 MySQL 연결할 때 phpmyadmin에서 수정해 주었던 것이 생각나서 localhost 대신 127.0.0.1 을 넣어주어 보았다.
<?php
header('Content-Type: text/html; charset=UTF-8');
$conn = mysqli_connect("127.0.0.1", "root", "비밀번호", "테이블명") or die("데이터 베이스 연결 실패 !");
?>
그랬더니... 이번엔 또 다른 에러가 ?
Warning: mysqli_connect(): (HY000/1130): Host '127.0.0.1' is not allowed to connect to this MySQL server in
이것은 또 무엇인가? 그럼 또 구글링 해보자.
이거는 외부 접속 권한이 제한이 되어있어서 접속이 안된다고 한다. 그리하여 이리저리 찾아보고 블로그에 적힌 것도 따라해보고 하였으나, 여전히 닷홈에서는 실행이 불가능했다....
딥빡!!!!!!! 도대체 뭐냐고...
4. 그러다가 떠올랐다..!! 바로 phpmyadmin 이 !!!!
내 로컬호스트에서도 phpmyadmin을 구현할 수 있듯
닷홈에도 아파치, php, MySQL이 실행이 된다고 하였으니 똑같이 설치되어있지 않았을까? 라는 생각이 들었다.
phpMyAdmin에서는 내가 만든 테이블들을 다 볼 수 있고, 그 테이블들을 다 생성, 수정, 삭제를 할 수 있다.
그래서 구글링 해보았다...
역시나 있었다!!!
아래 페이지에서 확인 할 수 있다.
www.dothome.co.kr/my/customer/manual/view.php?category=&keyword=&pageno=1&no=16&nowcnt=2
그렇다면 나의 닷홈사이트의 phpmyadmin을 들어가보자.
주소창에 [ 아이디.dothome.co.kr/phpmyadmin ]을 입력합니다.
사용자명과 암호는 닷홈 아이디, 닷홈 비밀번호를 입력하면 된다.
접속하면 이런 창이 열리고 왼쪽에 보면 나의 계정으로 되어있는 데이터베이스가 있다. 그곳을 클릭해보면 엄청나게 많은 테이블들이 있다. 허나 나는 다 필요 없으니 모두 체크 후 삭제하였고, 필요한 테이블만 놔두고 사용할 것이다.
많은 테이블들이 있을텐데 나는 이미 삭제 후라 없다. 모두 체크에 체크를 해 준 후
삭제를 클릭 해 주면 된다. 미련없이 나는 지워버렸다.
5. SQL 파일을 올려 보자.
그 후 내 컴퓨터에 있는 미리 만들어 놓은 SQL파일을 가지고 올 것이다. 가져오기 버튼을 클릭 !
파일 선택을 클릭 후 자신의 SQL 파일을 찾아서 확인을 하면 된다.
주의할 점이 있다 아래 참고.
주의할 점
닷홈에 있는 나의 계정 '데이터베이스' 로 가져오는 것이기 때문에 SQL 코드에
-- CREATE DATABASE 데이터베이스명;
-- USE 데이터베이스명;
데이터 베이스를 사용하는 부분은 꼭 주석처리 해주어야한다. 아니면 에러가 뜬다.
그리고 확인을 눌리면 나의 계정으로 되어있는 database로 테이블이 생성된다.. !!
6. 마무리 !!!
1번에서 했던 DB연결 코드 파일을 편집기로 실행시킨다.
<?php
header('Content-Type: text/html; charset=UTF-8');
// $conn = mysqli_connect("localhost", "root", "비밀번호", "데이터베이스명") or die("데이터 베이스 연결 실패 !");
$conn = mysqli_connect("localhost", "닷홈아이디", "닷홈비밀번호", "닷홈아이디(혹은 닷홈 admin에 보여지는 데이터베이스명") or die("데이터 베이스 연결 실패 !"); // 닷홈이 가지고 있는 mysql에 DB를 만들어서 실행시킴.
?>
저장 후 파일질라로 파일 전송 후 다시 닷홈을 들어가보면 !!!
구현이 잘 된다
어제 에러 발생으로 부터 이것을 알아내는데, 10시간 정도 걸렸다.. 나같이 초보에겐 너무나 힘든 일이였다.
허나 개발에 답은 어디에나 있으니 포기하지말고 찾아보자.
나의 포스팅으로 해결하는 분들이 많이 생겼으면 좋겠다.
그리고 해결을 하였다면 댓글 하나 남겨주시면 감사하겠습니다 :)
'Front-End > MySQL' 카테고리의 다른 글
[MySQL] 중복데이터 하나만 남기고 삭제하기. (0) | 2021.04.02 |
---|
댓글