source

Wordpress를 mysql 서버에 연결할 수 없습니다.

nicesource 2023. 2. 14. 21:31
반응형

Wordpress를 mysql 서버에 연결할 수 없습니다.

macbook에서 mysql 서버를 실행했는데, mysql 명령어로 모두 액세스할 수 있습니다.mysql -u root및 Navicat 어플리케이션.하지만 맥북에서 새로운 워드프레스 앱 설치 페이지를 열었을 때.인스톨중에, 다음의 정보를 입수했습니다.

MySQL 오류 이미지

MySQL 8.x는 실제로 지원되지만 사용자 및 비밀번호를 작성할 때 약간 다른 명령어가 필요합니다.버전 8에서는 패스워드가 SHA256으로 인코딩될 것으로 예상되기 때문입니다.

데이터베이스 사용자를 생성할 때 MySQL 프롬프트에서 다음을 사용합니다.

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

WITH mysql_native_password가 주요 차이점입니다.또한 설정에 따라 localhost 대신 127.0.0.1을 사용할 수도 있습니다.

localhost가 아닌 127.0.0.1을 사용합니다.

플러그인 개발/유닛 테스트를 위해 WordPress를 로컬로 설치하고 MySQL 8.0.11, PHP 7.1.16, WordPress 4.9.7과 같은 최신 버전을 사용하기로 결정했을 때 이 사실을 알게 되었습니다.

Sequel Pro 데스크톱 클라이언트에서 데이터베이스에 연결할 수 있었지만 Word Press가 연결되지 않았습니다.

Wordpress용 MySQL 8.0으로 마이그레이션하는에피소드 1에서 비슷한 문제가 발생했습니다.define('WP_DEBUG', true);나의 것wp-config.php:

그 후, 상기의 출력의 선두에 다음과 같은 것이 부가되었습니다.

Warning: mysqli_real_connect(): (HY000/2002): No such file or directory in /Users/BrianHenryIE/Sites/wptest/wp-includes/wp-db.php on line 1531

1531 행은 그다지 많은 것을 나타내는 것은 아닙니다.오류가 압축되는 경우가 있습니다.

if ( WP_DEBUG ) {
    mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
} else {
    @mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
}

또 다른 SO 응답 mysqli_real_connect(): (HY000/2002) 해당 파일 또는 디렉토리가 없으며, 사용하라는 메시지가 표시됨127.0.0.1대신localhost내가 내 인생에서 바꾼 건wp-config.php,define( 'DB_HOST', '127.0.0.1' );그리고 모든 것이 성공했습니다!

WordPress에서는 지원되지 않을 가능성이 있는 MySQL 버전이 8.0.11에 있는 것으로 나타났습니다(아마도).mysql 버전을 8.0.11에서5.7.16으로 전환했을 때그건 효과가 있다.꽤 잘 연결되긴 했지만.

내 경우 MySQL 8.0.18이 WAMPserver 3.2.0 포트 3308에서 실행되도록 설정되어 있는 것이 문제입니다.

wp-config에서 비표준 포트를 정의합니다.php

/** MySQL hostname */
define( 'DB_HOST', 'localhost:3308' );

MySQL 루트 사용자와 연결하지 마십시오.MySQL에서 다른 사용자를 생성하여 Wordpress에서 연결합니다.

이것을 시험해 보세요.

setsebool -P httpd_can_network_connect=1

이 문제를 해결한 것은 IIS 서버에서 PHP 7.2.x로 업데이트한 후 PHPManager(IIS Manager)의 Wordpress 웹 사이트에 이 버전을 할당하는 것입니다.

이건 나한테 효과가 있었어.

MySQL 8에서 팀은 default_authentication_plugin 구성 변수의 기본값을 이전 값과 변경했습니다.mysql_native_password로로 합니다.caching_sha2_password.

, 하는 패스워드 하지 않고 MySQL을 사용하는 됩니다.caching_sha2_password, 사용되고 클라이언트의 은, 「」를 사용하는 로 하고 mysql_native_password.

이 문제를 해결하려면 mysql 설정 파일을 편집합니다.Linux 에서는 다음 위치에 있어야 합니다.

/etc/my.cnf

다음 행을 찾아 주석을 해제합니다.

default_authentication_plugin=mysql_native_password

밑에 요.[mysqld].

이 변경 후 mysql을 재시작해야 합니다.온센트OS 7 에서는, 다음의 커맨드를 발행할 수 있습니다.

systemctl restart mysqld

이 영구 솔루션은 모든 워드프레스 설치의 mysql 연결 오류를 수정합니다.

도커 mysql 인스턴스의 경우

docker run --name eight-mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:latest --default-authentication-plugin=mysql_native_password

저도 이 문제가 있었습니다.MySQL my my my my my my 。를 이이음음음음음음음음음음음음 changed로 변경.utf8_general_ci이 잘 요.

언급URL : https://stackoverflow.com/questions/50037975/wordpress-cannot-connect-to-mysql-server

반응형