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

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

QA

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

답변 6

본문

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

 

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

DB 접속 정보가 틀린겁니다. DB명, user, password 모두 다시 확인해 보세요.

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

서버 버전이

  • 서버: 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
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로