호스팅 옮기고 에러가 나서 질문 드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
호스팅 옮기고 에러가 나서 질문 드립니다.

QA

호스팅 옮기고 에러가 나서 질문 드립니다.

본문

닷홈에서 닷홈으로 디비를 옴겼는데 에러가 나네요.

 

Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'abc1472'@'localhost' (using password: YES) in /hosting/cebuking1004/html/lib/common.lib.php:1528 Stack trace: #0 /hosting/cebuking1004/html/lib/common.lib.php(1528): mysqli_connect() #1 /hosting/cebuking1004/html/common.php(153): sql_connect() #2 /hosting/cebuking1004/html/_common.php(2): include_once('...') #3 /hosting/cebuking1004/html/index.php(2): include_once('...') #4 {main} thrown in /hosting/cebuking1004/html/lib/common.lib.php on line 1528

 

디비는 정상적으로 옴겼고 사이트는 통으로 다운받아서 설치했습니다.

디비 설정시 dbconfig 에서 설정변경 했구여.

 

어떤부분이 틀렸는지 지적좀 해주세요.

감사 드립니다~

이 질문에 댓글 쓰기 :

답변 6

계정 비밀번호가 틀린거 아닌가요?

서버 버전이

  • 서버: Localhost via UNIX socket
  • 서버 타입: MySQL
  • 서버 연결: SSL is not being used 문서
  • 서버 버전: 8.0.36 - Source distribution
  • 제품 버전: 10
  • 사용자: cebuking1004@localhost
  • 서버 문자셋: UTF-8 Unicode (utf8mb4)

그래서 변경했어요 하위 버전으로

 

 

Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in /hosting/cebuking1004/html/lib/common.lib.php on line 1528

Warning: mysqli_connect(): (HY000/2054): The server requested authentication method unknown to the client in /hosting/cebuking1004/html/lib/common.lib.php on line 1528
Connect Error: The server requested authentication method unknown to the client

 

  • 서버: Localhost via UNIX socket
  • 서버 타입: MySQL
  • 서버 연결: SSL is not being used 문서
  • 서버 버전: 5.7.44 - MySQL Community Server (GPL)
  • 제품 버전: 10
  • 사용자: abc1472@localhost
  • 서버 문자셋: UTF-8 Unicode (utf8mb4)

그랬더니 저렇게 나오네요 ㅎㅎ

DB 비밀번호를 (대문소/소문자/숫자/특수문자) 조합해서 어렵게 재생성 후,

해당 패스워드를 /data/dbconfig.php 파일의 아래 자리에 넣어보세요.

define('G5_MYSQL_PASSWORD', '여기에 패스워드 입력');

MySQL 사용자 인증 방식과 PHP 및 MySQL 서버 간 호환성 문제로 보입니다.

 

1. MySQL 8.0 이상에서 기본 인증 방식이 caching_sha2_password로 설정되었을 수 있습니다. 이를 mysql_native_password로 변경하세요.

- MySQL에 접속:

mysql -u root -p
- 사용자 인증 방식 변경:

ALTER USER 'abc1472'@'localhost' IDENTIFIED WITH mysql_native_password BY '현재비밀번호';
FLUSH PRIVILEGES;

2. PHP와 MySQL 서버의 버전 차이에 따라 호환성 문제가 발생할 수 있습니다. 이전 호스팅의 PHP 버전을 확인하고, 새 호스팅에서도 동일한 버전을 사용하세요.

- PHP 버전 확인:

php -v
- 필요한 경우 PHP 버전을 변경하거나, 호환되는 MySQL 클라이언트 라이브러리를 설치

sudo apt-get install php-mysqli
sudo systemctl restart apache2
3. dbconfig.php 파일에서 데이터베이스 접속 정보를 다시 확인하고 정확히 입력했는지 점검

define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', 'abc1472');
define('G5_MYSQL_PASSWORD', '비밀번호');
define('G5_MYSQL_DB', '데이터베이스명');
4. 만약 위 방법으로 해결되지 않는다면, MySQL 설정 파일(/etc/my.cnf 또는 /etc/mysql/my.cnf)에 기본 인증 방식을 설정

[mysqld]
default_authentication_plugin = mysql_native_password
- 변경 후 MySQL을 재시작

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

회원로그인

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