localhost (MAMP)의 WP CLI“데이터베이스 연결 설정 오류”


13

WP CLI로 무언가를 만들려고 할 때이 오류가 발생합니다.

Error establishing a database connection. This either means that the username and password information in your `wp-config.php` file is incorrect or we cant contact the database server at `localhost`. This could mean your hosts database server is down.

그러나 다음 링크로 사이트를 열 수 있습니다 : http : // localhost : 8888 / projectname

어떤 생각?

답변:


27

당신으로 이동 wp-config.php및 변경 DB_HOST127.0.0.1localhost 대신.

댓글에서 크레이그 웨인에게 신용이 전달됩니다.


2
MAMP Pro에서는 "MySQL에 대한 네트워크 액세스 허용"도 확인해야했습니다.
Nick M

나는 이것을 시도했지만 도움이되지 않았다. Bedrock 상용구를 사용하고 있습니다. 나는 wp-config와 .env 파일을 반복해서 갔고 MAMPs 구성을 반복해서 갔다. wb-db.php 파일을 디버깅했습니다. 그런 다음 .env의 DB_HOST 행에서 #을 제거하면 모두 좋습니다.
Tom

@Tom 에서 호스트를 변경하기 전에이 tommcfarlin.com/installing-wp-cli-with-mamp 를 사용해보십시오 wp-config.php. 작동해야합니다.
마리아 다니엘 디팍

5

나를 위해, 대답은에 대한 설정을 변경 한 DB_HOST127.0.0.1:8889대신 localhostwp-config.php, 또한 MySQL의 설정에서 "MySQL의 네트워크 액세스를 허용"확인란을 선택. MAMP Pro가 데이터베이스에 사용하는 포트로 포트를 설정하는 것은 다른 답변에서 볼 수 없었던 중요한 누락 부분이었습니다. YMMV.


4

MAMP PHP 바이너리를 사용하십시오. 실행중인 PHP 버전 WP CLI를 확인할 수 있습니다

php wp-cli.phar --info

최신 MAMP PHP를 사용하려면 bash 또는 zsh 프로파일을 수정해야합니다.

PHP_VERSION=$(ls /Applications/MAMP/bin/php/ | sort -n | tail -1)
export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH

프로파일을 다시로드하십시오.

source ~/.bash_profile

변경 사항이 올바르게 적용되었는지 확인하십시오.

  php wp-cli.phar --info

1
첫 번째 명령은 단지 오류입니다Could not open input file: wp-cli.phar
Felix Eve

워드 프레스 루트 폴더에서 명령을 실행 했습니까?
알고

예, 그러나 WP 디렉토리wp-cli.phar루트 에는 파일 이 없습니다 .
Felix Eve

여기에 당신이 어떻게 WP-cli.phar을 설치하는 더 많은 정보를 찾을 수 있습니다 ( wp-cli.org은 )
eknows

2
당신이 이동 한 설치하는 동안 경우 @FelixEve는 wp-cli.phar아래에 /usr/local/bin/wp, 당신은 실행할 수 있습니다 wp --info대신 : 표시가 PHP binary당신의 WP 설치 아래에있는 것이어야한다.
PJ_Finnegan

0

1 단계 : mysql 서버가 실행 중인지 확인 2 단계 : 그렇다면 다음을 사용하여 mysql에 로그인 할 수 있습니다

mysql -u root -p

그런 다음 비밀번호를 입력하십시오 (터미널에서이 명령을 사용해야 함). 다음 명령을 사용하여 데이터베이스가 존재하는지 확인하십시오.

show databases;
grant all privileges on database_name.* to 'root'@'localhost' identified by 'password';
flush privileges;
exit;

이제 wp-config.php 파일을 편집하고

define('DB_NAME', 'db_name');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');

이제 서버를 다시 시작하고 워드 프레스 대시 보드에 로그인하십시오. 도움이 되길 바랍니다.


"mysql -u root -p"는 "사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호 사용 : YES)"
Klevis Miho

mysql 데이터베이스를 설정할 때 비밀번호를 입력해야합니다. 해당 비밀번호를 사용하십시오. mysql 데이터베이스를 설정할 때 비밀번호를 구성하지 않은 경우 비밀번호 대신 Enter 키를 누르십시오.
maverick

나는 당신이 쓴 것을했습니다. "mysql -u root -p"를 사용하여 데이터베이스에 연결할 수 있습니다. 또한 권한이 부여됩니다. 그러나 오류는 여전히 존재합니다.
Klevis Miho

1
나는 내 WP-config.php에있는 127.0.0.1에 localhost를 변경하는 경우, 모든 것이 잘 작동 것으로 나타났습니다 ... 내가 여기 프로그래머 같은 더 큰 문제를 느끼는
크레이그 웨인

1
WordPress v3.6.9 및 WP-CLI v1.5.1을 새로 설치하면 @CraigWayne의 솔루션이 완벽하게 작동했습니다.
betweenbrain

0

필자의 경우 위에서 언급 한 오류 메시지 외에도 다음과 같은 경고가 표시됩니다.

PHP Warning:  mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
Warning: mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
PHP Warning:  mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
Warning: mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/wp-includes/wp-db.php on line 1562
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/wp-includes/wp-db.php on line 1562
PHP Warning:  mysql_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Warning: mysql_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
PHP Warning:  mysql_connect(): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Warning: mysql_connect(): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562

이 질문 에 따르면 이 문제는 MySQL 8.0의 기본 문자셋이이므로 발생합니다 utfmb4.

실제로 MySQL 5.7에서 MySQL 8.0으로 업그레이드하여 오류를 복제 할 수 있습니다

데이터베이스를 내보내고 MySQL 5.7로 다운 그레이드하고 데이터를 다시 가져 와서 문제를 해결했습니다. 또한 MariaDB 10.3에서 테스트를 실행했으며 정상적으로 작동합니다.



0

함께 작동해야하는 두 부분이 있습니다.

- 당신은 전환 필요 localhost127.0.0.1하고 마지막에 포트 번호를 추가합니다. 나를 위해, 그것은이었다 127.0.0.1:3306.

포트 번호는 Mamp의 MySQL 패널에 있습니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.