시놀로지 7.2버전 마리아DB 10 질문입니다
본문
기존에 쓰던건 마리아DB 5를 사용하고 있었는데
이번에 새로 나스를 하나 더 들이면서
그누보드 설치하려고 하는데
MySQL이 설치되지 않아 mysql_connect 함수를 사용할 수 없습니다.
라고 나옵니다
찾아보니 마리아DB10을 쓰려면
data/dbconfig.php
define('G5_MYSQL_SET_MODE', false);
false를 true로 변경해보세요.
이런 걸 봤는데... data/방에 아무것도 없어요
해결하신분 계시면 조언부탁드립니다
답변 3
php 버전이 7.2 라는 말인가요?
설치가 완료된 후에 /data/dbconfig.php 파일이 생성됩니다.
설치 도중 문제가 생겼으니 dbconfig.php 파일이 없는 상태입니다.
마리아DB 는 MySQL과 호환되기 때문에,
dbconfig.php 파일 수정 관련 내용도 이번건과는 관련이 없을 듯 싶습니다.
php 의 mysql 모듈이 없어서 생긴 오류일 가능성이 큽니다.
시놀로지에서 그누보드 설치 방법 정리된 글을 찾아,
하나씩 검토해보면서 재설치하는 것을 추천합니다.
https://nearbyweb.cafe24.com:46919/bbs/board.php?bo_table=notice&wr_id=31
~ 새 친구를 사귀려는데, 순조롭지 않으시군요 ㅠ ㅠ ~
♠ 누보드5 설치시,
동일 host(DS_xxx)내의 host(그누5)가
localhost로써 DS_xxx의 'MariaDB 10 '을 사용하자면 ~
> Server 교체전에 DB5를 사용하였다 하여 DB10에 연결이 안되는 것 아님.
> 님은 구 project내의 구형함수를 upgrade하지 않고
PHP7.x 스크립트를 사용하는 서비스_프래임에 설치하려 하니 DB_Error가
발생하는 것 아닌가요?
> 기존의 project를 설치하려 하지마시고
- MariaDB 10을 이용한 그누_최신_버전을 먼저 설치하여 DB 연결 상태를 확인 후,
> 구 Project 이전 설치를 하셔야 ~~
> 아래의 내용을 차례로 확인 하여 보세요.
※ DiskStationManager(DSM 7.2)의 패키지센터내 MariaDB_10을 열어
"TCP/IP 연결 활성화" 옵션(체크박스)을 활성화하지 않으면
LAN이나 WAN, LocalHost의 다른 호스트는
Synology NAS의 MariaDB에 'TCP/IP 연결'로 접속할 수 없습니다.
> DB와 그누보드_project가 동일 Host에 있더라도,
그누5 설치시, DB의 host를 localhost로 설정 하려면
= DSM의 MariaDB 10 ; "TCP/IP 연결 활성화"
> DSM은 기본적으로 '소켓 파일'로 DB와 연결하게 설정되여 있음.
> 그누5에 '소켓 파일' 사용 설정을 하기 번거로우니 ~~~
>> DSM7.2 패키지센터의 MariaDB_10을 열어 보시면,
"TCP/IP 연결 활성화" 옵션을 체크하게 되여 있습니다.
>> TCP/IP 연결 활성화 후,
그누보드 설치를 재시도 하여 보세요 ~~ DB를 인식할 것입니다.
♣ 님의 경우는 PHP(그누5)와 MariaDB 10가 동일 host 있으니,
DB의 Port(3306)에 관한 방화벽은 추가하지 않으셔도 됨.
♥ 전체적인 개요 ;
기본적으로 그누보드5는 TCP/IP 연결을 사용하여 데이터베이스에 연결하도록 설정되여 있을 것입니다. 그누보드5의 '소켓 파일' 사용 설정이 번거로우실 것이니 DSM의 옵션("TCP/IP 연결 활성화")을 사용하여 그누5가 DS_xxx의 MariaDB에 접속 할 수 있게 하는 구성을 하자는 것입니다.
♠ 위의 설정으로 DB연결이 된다면, 터미널에서 연결 확인
mysql -h localhost -P 3306 -u DB_사용자 -p
♠ 이제, 기존의 project를 이전 하기 - 구형 mysql_* 함수 Upgrade한 후,
- """ 이런 걸 봤는데... data/방에 아무것도 없어요 """,
그누5 설치전 이니, data/dbconfig.php가 없을 것입니다.
- DSM에서 "새 웹서바스(그누)"를 만들 때
> php 스크립트의 함수선택에서 함수 선택을 하지 않고
서비스를 생셩하여 그 서비스에 그누5(구 project)를 설치하시려 하니
나타나는 error 같습니다.
> DSM에서 구누5에 연결할 '웹서비스'를 다시 생성하여 설치하시면
아무 문제 없이 설치될 것입니다.
스크립트(php7.x)의 함수선택에서 모두 선택해 버리세요.
= 이전에, 실수로 아무 것도 선택하지 않고 만드셨을 수 있음.
- 그래도 설치가 않되는 경우, data/dbconfig.php을 만들어 보세요.
data/dbconfig.php
<?php
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', 'your_db_user');
define('G5_MYSQL_PASSWORD', 'your_db_password');
define('G5_MYSQL_DB', 'your_db_name');
define('G5_MYSQL_SET_MODE', true);
- DSM7.2에는 php 확장 모듈이 있습니다.
> Web Station > '스크립트언어 설치'에서 추가하면 됨.
♠ 결론; """MySQL이 설치되지 않아 mysql_connect 함수를 사용할 수 없습니다."""
이 멧시지는 DSM에서 그누5를 서비스할 '웹서비스'를 만드실 때,
php 스크립트의 함수를 선택하지 않았을 것입니다.
- Web Station > 스크립트 언어 설정 >
- 그누5를 서비스하는 '프로파일 이름' 선택후, 상단의 '편집' > '확장'
- mysqli 와 pdo_mysql의 체크박스 선택
= 이 결론은 구형함수를 upgrade 하셨다는 조건 하의 예시였습니다.
♣ 위의 모든 것이 갖추어진 후,
기존의 project(구누5)를 서버(DS_xxx)에 php7.x와 사용 하시려먼 ~
구_Project의 mysql_* 들을 mysqli_* 또는 PDO로 변환하셔야,
php7.xx에서 mysqli 와 pdo_mysql를 사용하여 구동할 수 있으실 것입니다.
>>> 구형 mysql_* 함수는 PHP 7 이상에서 사용할 수 없으므로 이를 계속 사용하려면
반드시 mysqli_* 또는 PDO로 변환하셔야 합니다.
!-->!-->