MySQL Host, User, Password, DB 정보에 오류가 있습니다.

MySQL Host, User, Password, DB 정보에 오류가 있습니다.

QA

MySQL Host, User, Password, DB 정보에 오류가 있습니다.

본문

집에서 로컬 서버를 구성하여 같은 환경에서 php버전만 다르게 해서 php5.5버전과 php7.4 버전에 각각 설치했는데, php7.4버전에서는 db를 정상적으로 인식하여 정상 설치가 되지만, php5.5 버전에서는 "MySQL Host, User, Password, DB 정보에 오류가 있습니다."라는 에러가 뜨면서 설치가 안됩니다. 혹시 추측가는 문제점이 있을까요? php.ini에서 mysqli, mysql 주석 해제 해봤지만 안되네요. 카페 24에서 웹호스팅 상품을 보시면,

php5.5 + 그누보드5 제품이 분명 있는데, 왜 저는 안될까요?

이 질문에 댓글 쓰기 :

답변 6

/data/dbconfig.php 에서

 

아래와 같은 부분이 있다면


define('G5_MYSQL_HOST', 'localhost');

 

아래처럼 변경해보세요


define('G5_MYSQL_HOST', 'localhost:3306');
또는
define('G5_MYSQL_HOST', '127.0.0.1');

data 안에 있는 파일들은 그누보드가 설치돼야 나오는데 db 정보 입력하는 부분에서 "MySQL Host, User, Password, DB 정보에 오류가 있습니다."에러 때믄에 설치도 못하고 있습니다... 혹시 몰라서 설치 정보 입력 창에서 호스트 입력란에 위 정보를 기입해 봤으나, 여전히 안되고 있네요.

포트번호는 3306 이 맞나요?
아니라면 localhost:포트번호
지정해서 시도해보시고

동일하다면

lib/common.lib.php 에서
다음처럼 수정 후 나오는 에러메세지 확인해보세요


function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
    global $g5;

    if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
        // mysqli_report(MYSQLI_REPORT_OFF);
        // $link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.');

        // 연결 오류 발생 시 스크립트 종료
        /* if (mysqli_connect_errno()) {
            die('Connect Error: '.mysqli_connect_error());
        } */

        mysqli_report(MYSQLI_REPORT_ALL);
        $link = mysqli_connect($host, $user, $pass, $db);

        if (!$link) {
            echo '[mysqli] ' . mysqli_connect_errno() . ' : ' . mysqli_connect_error();
        }
    } else {
        $link = mysql_connect($host, $user, $pass);

        if (!$link) {
            echo '[mysql] ' . mysql_errno() . ' : ' . mysql_error();
        }
    }

    return $link;
}

답변 감사합니다.
해당 코드 그대로 복사하여 붙여넣기 하니 기존 db 정보에 오류 있따는 에러 대신,

Warning: mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in C:\php\b\nginx-1.23.1\www\lib\common.lib.php on line 1566

Fatal error: Uncaught exception 'mysqli_sql_exception' with message 'Server sent charset unknown to the client. Please, report to the developers' in C:\php\b\nginx-1.23.1\www\lib\common.lib.php:1566 Stack trace: #0 C:\php\b\nginx-1.23.1\www\lib\common.lib.php(1566): mysqli_connect('localhost', 'root', '1234', 'khnr') #1 C:\php\b\nginx-1.23.1\www\common.php(155): sql_connect('localhost', 'root', '1234') #2 C:\php\b\nginx-1.23.1\www\_common.php(2): include_once('C:\php\b\nginx-...') #3 C:\php\b\nginx-1.23.1\www\index.php(2): include_once('C:\php\b\nginx-...') #4 {main} thrown in C:\php\b\nginx-1.23.1\www\lib\common.lib.php on line 1566

이런 에러가 뜨네요

php 쪽에서 인식할수 없는 캐릭터셋을 MySQL 서버로부터 받았다는것 같은데
MySQL 8 을 설치하신건가요?

DB 접속해서 쿼리한번 날려보세요


mysql> SHOW VARIABLES LIKE '%char%';


utf8mb4 가 나오면 utf8 로 수정해줘야 하는 이슈 같네요

그럴 경우 my.cnf 를 다음처럼 수정해주고 DB 서버 재시작 시도해보세요

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

감사합니다..! 높은 확률로 이 문제일 것 같습니다 분명 디비 정보는 맞는데 정보가 틀렸다고 나오는 걸 보면 문자 인코딩이 잘못된 방식으로 드가거나 해서 이런 문제가 발생한 것 같다는 나름의 추론이 되는 것 같네요. 어떻게 이걸 아셨는지 완전 천재십니다 ㅠㅠ 일단 window라서 문자 방식 바꾸는 부분이 잘 안돼서 이 부분만 해결해보고 다시 말씀드리겠습니다 정말 감사드립니다!

후... 말씀하신대로 캐릭터셋 설정해주었는데 여전히 한글 깨져서 나오네요...
윈도우라서 my.ini 파일을 설정해주었씁니다. 그리고 utf8이 아니라 utf8mb3 으로 나오는데 워크벤치 8에서는 utf8이 utf8mb3 으로 바뀐 것 같아요. 왜 안될까요 하 ㅠㅠ 한글 깨지는 문제만 해결하면 왠지 될 것 같은데.. 혹시 몰라 질문글도 새로 올렸는데 시간 나실 때 한번 봐주시면 정말 감사하겠습니다 ㅠ https://sir.kr/qa/477944

로컬에서 디비가 정상적으로 접속되는지 확인하십시요.
정상적으로 접속되면 /data/dbconfig.php 파일을 열어 로컬의 디비와 정보가 맞는지 검토하십시요
 

5는 버릴때가.. 속도랑 보안측면에서 7 권고해요~

넵. 사실 7 쓰면 정상적으로 디비 실행이 되긴합니다. 아무 문제 없이요. 그런데 5.5 버전 쓸 때만 디비가 안 맞다고 나오니까 궁금하기도 하고 일단 카페24는 5.5로도 잘 실행되는거 보니 궁금해서 질문 드려봤습니다.

말 그대로 정보가 틀려서 그런겁니다. 독구파랑님 처럼 해당 파일에서 정보를 제대로 입력했는지 확인을 해보셔야 할거 같습니다.

같은 환경에서 7 버전에서는 정상 확인 되었으나, 5 버전에서는 안 됩니다. db가 안 맞다기 보단 다른 이유라고 생각하는데 정말 궁금하네요 저는 안되는데 카페24는 왜 되는건지도 궁금하구요.

select user, host from mysql.user

결과를 볼 수 있을까요?

1889385735_1666792082.0792.png

 

엑스엠엘님. 결과는 이렇습니다. 답변 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 10
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT