Error resolution

[centos 7] php로 외부서버 mysql 연동 오류 및 해결

keepbang 2021. 4. 7. 01:16

학부 서버DB를 이용한 안드로이드 앱을 만들기 위해
먼저 외부 mysql에 대한 권한 설정을 해줘야한다

먼저 학교측에 부탁해서 3306과 80포트를 열어 놓은 후
학부 서버컴에 접속해서 아래 명령어를 입력했다.

 

SQL> GRANT ALL PRIVILEGES ON DB이름.* TO root@'ip주소' IDENTIFIED BY '비밀번호'

그 후 내가 만든 웹서버에서접속한 결과

# mysql -h 'ip주소' -u root -p

Enter password:

ERROR 2027 (HY000): Malformed packet

Malformed packet.....
많은 구글링과 지인에게 물어본 결과
mysql버전이 안맞아서 그런거같다는 의견이 나왔다
확인해보니 학부 mysql이 내가 만든 서버의 mysql보다 버전이 낮았고
학부 서버 컴퓨터의 os는 centos였는데 내가만든건 우분투였다.

그래서 Linux를 centos로 다시 설치하고 웹서버 구축 후 mysql에 접속해보니
성공!!!
기쁜마음으로 php파일을 옮기고 컴파일 후 실행해보니....

Error: Could not connect to database. Please try again later. Unknown MySQL server host 'ipaddress' (11)

hahahahahahaha...
해도해도 에러가 끊이지 않는구나.....
검색 결과 php버전이 안 맞으면 이럴수도 있다고 한다.
역시나 php버전이 5.4였다...

http://www.techoism.com/how-to-upgrade-php-version-5-4-to-5-6-on-centosrhel/

위 링크에 나와있는대로 지우고 5.6으로 재설치 후 실행해봤더니

php mysql Can't connect to MySQL server on 'ipaddress' (13)

이번엔 연결이 안됨ㅋㅋㅋㅋㅋ

https://stackoverflow.com/questions/4078205/php-cant-connect-to-mysql-with-error-13-but-command-line-can

검색 결과 아래 명령어를 입력하면 된다고 한다.

setsebool -P httpd_can_network_connect=1


(혹시 무슨 명령어인지 아시는분 알려주시면 감사하겠습니다...)