programing

데이터베이스 연결 Amazon EC2 설정 중 오류 발생 - wordpress 블로그 이동 후

codeshow 2023. 3. 8. 21:39
반응형

데이터베이스 연결 Amazon EC2 설정 중 오류 발생 - wordpress 블로그 이동 후

워드프레스 블로그를 Amazon EC2로 옮긴 후 "데이터베이스 연결 확립 오류"라는 오류가 발생하였습니다.wp-config.php 파일을 확인했는데 설정이 정상입니다(localhost, password, username).

저는 여기서 많은 질문과 답변을 읽었지만 도움이 되지 않았습니다.

셸 액세스 권한이 있어서 필요한 건 다 확인할 수 있어요phpmyadmin의 컨피규레이션파일을 보고 어떤 DB 접속 설정이 있는지 확인해야 할 것 같습니다.phmyadmin은 동작하지만 어디에 있는지 모르겠습니다.

감사해요.

저는 mysqld 서비스를 재시작하는 것만으로 충분했습니다.하지만 문제가 있었어요, 제가 실행하자마자sudo service mysqld restartMySql 。 sudo services mysqld startMySQL Deamon Failed to Start 에러가 발생하였습니다.서비스를 시작하려고 많은 시간을 들였지만 진짜 원인은 httpd 서비스였던 것 같습니다.httpd 서비스를 중지했습니다.sudo service httpd stop, 이제 실행해보세요.sudo service mysqld restartwordpress 사이트가 다시 온라인 상태가 되었습니다(httpd 서비스를 시작하는 것을 기억하십시오).이것은 다소 재미없게 들리지만, MySQL DB가 여러 가지 이유로 중지된 것을 알게 되었고, 실제 이유를 알아내는 것만이 나에게 효과가 있었습니다.

문제를 해결하려면 ec2에서 스왑 메모리를 늘립니다.http://digitizor.com/2011/02/06/create-swap-file-ubuntu-linux/

웹 사이트에서도 같은 에러가 발생하여 인스턴스를 재부팅하고 voila를 실행하면 문제가 해결되었습니다.

내 경우:

저는 amazon free tier를 사용하고 있는데, 어떤 봇이 제 웹사이트를 요청해서 접속 수가 많아서 sql 데이터베이스가 로드를 처리할 수 없었습니다.따라서 로드 밸런서도 설치했습니다. :) 도움이 되길 바랍니다.

최근에도 같은 문제가 발생하여 AWS 프리티어 계정을 사용하고 있습니다.ec2 인스턴스는 t2.micro로 스왑이 사전에 설정되어 있지 않습니다.워드프레스를 설치하면 메모리 사용량이 항상 높아집니다.아무것도 하지 않아도 됩니다.어느 날, 저는sudo yum update는 "bash"를 표시합니다.-bash: fork: Cannot allocate memory 제 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」error establishing a database connection

저는 메모리 사용량이 많은 것이 근본 원인이라고 생각합니다.다음의 순서에 따라서 스왑 메모리를 추가할 수 있습니다.EC2 인스턴스에 스왑을 추가하려면 어떻게 해야 합니까?

블로그를 myolddomain.com에서 mynewdomain.com으로 이동할 것인지, 일반 WordPress를 사용할 것인지 또는 멀티사이트 WordPress를 사용할 것인지에 대해서는 언급하지 않았습니다.도움이 될 수 있는 몇 가지 힌트가 있습니다.

  • 먼저 wp-config를 확인해야 합니다.php가 올바르게 구성되어 있습니다(서버, 사용자 이름, 비밀번호...).

  • 다음으로 WordPress는 데이터베이스를 사용하여 현재 호스트에 대한 정보를 저장하고 테이블 wp_site, wp_site, wp_sitemeta를 보고 myolddomain.com을 포함하는 모든 행을 mynewdomain.com로 바꿉니다.

  • EC2 Security Group이 올바르게 구성되어 있는지 확인합니다.

기사도 도움이 될 거예요.

저도 같은 실수를 했어요.메모리 부족으로 EC2 서버가 재부팅될 때마다Mysql이 재부팅되지 않아 웹사이트가 크래쉬하지 않아 데이터베이스 접속을 확립하는 중 오류가 발생하였습니다.처음에는 WHM에서 서버를 재시작하여 오류를 즉시 수정하였습니다.다음에 서버를 재기동하면 에러가 재발한다.부트 명령어로 ssh auto restart mysql 데이터베이스도 시도했지만 문제가 없었습니다.Security Group이 모든 트래픽을 받아들이도록 설정되어 있는데 mysql을 포함하도록 Security Group을 변경하고 오류를 수정하기 위해 인스턴스를 재부팅해야 했습니다.이것이 EC2를 사용하는 모든 사람에게 효과가 있을지는 잘 모르겠습니다.그것은 나에게 효과가 있었다.

인스턴스에 스왑을 추가하여 이 문제를 해결했습니다.

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1

1024보다 큰 것이 필요한 경우는, 보다 높은 것으로 변경해 주세요.

reboot 후에 디폴트로 유효하게 하려면 , /etc/fstab 에 다음의 행을 추가합니다.

swap        /var/swap.1 swap    defaults        0   0

인스턴스가 스왑을 사용하고 있는지 여부를 확인하려면 다음 명령을 수행합니다.

cat /proc/meminfo

그 결과:

ubuntu@ip-172-31-24-245:/$ cat /proc/meminfo
MemTotal:         604340 kB
MemFree:            8524 kB
Buffers:            3380 kB
Cached:           398316 kB
SwapCached:            0 kB
Active:           165476 kB
Inactive:         384556 kB
Active(anon):     141344 kB
Inactive(anon):     7248 kB
Active(file):      24132 kB
Inactive(file):   377308 kB
Unevictable:           0 kB
Mlocked:               0 kB

스왑 합계: 1048572 kB

스왑 프리: 1048572kB

Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        148368 kB
Mapped:            14304 kB
Shmem:               256 kB
Slab:              26392 kB
SReclaimable:      18648 kB
SUnreclaim:         7744 kB
KernelStack:         736 kB
PageTables:         5060 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1350740 kB
Committed_AS:     623908 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        7420 kB
VmallocChunk:   34359728748 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      637952 kB
DirectMap2M:           0 kB

EC2에 mqsql 클라이언트를 설치하여 RDS MySQL(또는 임의의 RDS DB)에 접속할 수 있도록 합니다.DB 종속성을 설치하려면 Apache에서 RDS에 액세스해야 합니다.https://aws.amazon.com/getting-started/hands-on/deploy-wordpress-with-amazon-rds/5/ 링크에 접속합니다.

어떤 분포를 사용하고 있는지 잘 모르기 때문에 일반적으로 다음과 같은 문제를 해결합니다.
2 . 'nmap 를 실행합니다되고 있는 로 바꿉니다3. 로컬되고 있는지 합니다. nmap(포트 스캔)이라는 프로그램을 설치합니다.2 . 'nmap localhost'를 실행합니다(로컬이 아닌 경우 localhost를 데이터베이스가 실행되고 있는 서버로 바꿉니다). 3. 데이터베이스(로컬)가 실행 중인지 확인합니다.

그렇지 않은 경우 'services mysqld restart'라는 취지의 작업을 수행합니다(이 작업을 수행하면 mysql 데몬이 재시작됩니다).이것으로 문제가 해결되었을 경우는, 그 서비스의 자동 기동을 검토해 주세요.이 명령어로 오류가 발생하면 mysql이 설치되어 있지 않을 수 있습니다.

DB 연결 오류는 (브라우저에서 연결하는 경우) 루트 암호 때문일 수 있습니다.$mysql_secure_installation을 실행하여 데이터베이스 보안을 설정하여 루트 패스워드를 안정시킵니다.첫 번째 단계에서 를 누르면 루트의 새 암호를 지정할 수 있습니다.그럼 다 잘 될 거예요.

재부팅 후에도 서버가 계속 크래시되면 메모리를 늘려 서버를 t2.micro에서 t2.medium으로 업그레이드해야 합니다.

포트를 닫는 것을 고려할 수 있습니다.

AWS에서는 Security Group에서 이 작업을 수행할 수 있습니다.예를 들어 SSH, HTTP 및 HTTPS 포트가 열려 있는 경우(22, 80 등).)는, IP 주소만으로 닫아 주세요.(디폴트로는 0.0.0 입니다.모두에게 공개됩니다).특히 SSH 포트에 대해 이 작업을 수행해야 합니다.

봇은 항상 열려 있는 포트에 액세스하려고 합니다.취약점이 있는지 테스트하기 위해 하루에도 수천 번 공격합니다.인스턴스의 크기에 따라서는 이 트래픽을 처리하지 못할 수 있습니다.이것이 서버가 계속 다운되는 원인이 될 수 있습니다.

RDS 인스턴스의 Security Group을 클릭하십시오.다음으로 inbound > Edit add "All TCP" for 0.0.0/0 을 클릭합니다.

포트 범위 0 ~ 65535

아래가 수정해 주셨습니다.

amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2 &&
service httpd restart

언급URL : https://stackoverflow.com/questions/7315382/error-establishing-a-database-connection-amazon-ec2-after-moving-my-wordpress

반응형