Làm thế nào để sửa lỗi error establishing a database connection

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Làm thế nào để sửa lỗi error establishing a database connection Error establishing a database connection là vì PHP code không thể kết nối tới MySQL database để lấy thông tin cần để dựng trang.

Giới thiệu

Trong bài hướng dẫn này, chúng tôi sẽ đem ra nhiều cách thức để sửa loại Error establishing a database connection trong WordPress. Sau lúc đọc xong, bạn sẽ biết hết mọi thứ lý do gây lỗi và cách sửa lỗi WordPress này hoàn toàn.

WordPress được viết bằng ngôn ngữ PHP và MySQL. Khi một trang web được mở khi người truy cập trên website của bạn, mã PHP code sẽ truy xuất database MySQL và lấy thông tin càng phải có để chạy trang. Một truy vấn PHP cần để viết tiêu đề bài viết, một chiếc khác cần lấy thông tin tác giả, một cái khác để trích ngày xuất bản, vâng vâng.

Mã lỗi Error establishing a database connection , có tức là do nguyên nhân nào này mà PHP code chẳng thể kết nối tới MySQL database để lấy thông tin cần để dựng trang.

Ví dụ lỗi Error establishing a database connection

Có nhiều nguyên nhân website cũng đều có thể gặp lỗi kết nối database trên WordPress, tuy vậy thường thì sẽ rớt vào ba trường hợp:

  1. Sai tin tức đăng nhập vào MySQL database của WordPress . Nếu thông tin đăng nhập bị thay đổi do WordPress được chuyển đi, hoặc chuyển sang nhà sản xuất hosting khác, website của bạn sẽ không truy cập được tới database với thông tin cũ. Bạn cũng luôn phải lưu ý là Databse WordPress sử dụng thông tin đăng nhập khác với tài khoản đã được cấp để truy cập hosting account control panel. Theo kinh nghiệm của chúng tôi, lỗi này thường diễn ra nhất.
  2. Một hoặc nhiều plugin khiến database bị hỏng.  Có nhiều nguyên nhân khiến WordPress database bị hỏng, hầu hết là do bạn đã upload plugin chứa lỗi.
  3. Server chứa database này bị sập.  Database server có thể không hoạt động vì vấn đề kỹ thuật, hoặc bạn cũng có thể gặp trường hợp traffic tăng đột biết khiến bất thình lình server chẳng thể giải quyết được. Vì vậy, website sẽ trả về lỗi error establishing a database connection WordPress

Trong bài chỉ dẫn này, bạn sẽ biết cách tìm và sửa lỗi establishing a database connection trong WordPress.

Bạn cần chuẩn bị gì?

Trước khi bắt đầu bạn cần chuẩn bị:

  • Một WordPress website dã từng hoạt động
  • Truy cập control panel của tài khoản Hosting nơi wordpress được cài.
  • Quyền write vào file cài đặt WordPress website
  • Kiến thức cơ bản về cấu trúc WordPress

Bước 1 — Xác định lỗi Error establishing a database connection do đâu

Đầu tiên bạn cần làm là kiểm tra lỗi trùng lặp ở cả front-end và back-end là  yoursite.com , và  yoursite.com /wp-admin (thay  yoursite.com  với trang WordPress của bạn). Nếu lỗi giống nhau là  Error establishing a database connection , hãy tiếp tục vào Bước 2 .

Nhưng nếu website của bạn bị down, và bạn thấy một lỗi khác khi đăng nhập là:  One or more database tables are unavailable. The database may need to be repaired ,  vậy bạn cần sửa database của bạn.

May mắn là WordPress có cách tự động repair database. Bạn cũng đều có thể cần kích hoạt tính năng này trước. Để làm vậy, bạn phải truy cập vào file wp-config.php file trong thư mục gốc của files cài WordPress.

vị trí file wp-config

Mở file wp-config.php , thêm dòng sau vào trước * That's all, stop editing! Happy blogging. */ và lưu thay đổi:

 define( 'WP_ALLOW_REPAIR', true ); 

Lưu thay đổi. Dòng trên sẽ kích hoạt nó cho bạn và tối ưu hoặc sửa chữa database bằng phương pháp truy cập tới:

yourwebsite.com /wp-admin/maint/repair.php (chỉ cần thay thế  yourwebsite.com  thành địa chỉ URL thật sự).

Chọn bất kỳ lựa chọn nào để thực hiện database repair.

Bạn cũng có thể thấy hình trên có 2 lựa chọn để sửa hoặc sửa chửa ( Repair Database) và vừa sửa chữa vừa tối ưu database ( Repair and Optimize Database) . Hãy chọn 1 trong 2; lưu ý là cách 2 sẽ mất quá nhiều thời gian hơn vì sau khi sửa chữa database sẽ có tối ưu.

Hãy lưu ý là trang sửa chữa database này  không an toàn ; bất kỳ ai cũng cũng có thể có thể truy cập yourwebsite.com /wp-admin/maint/repair.php mà không phải đăng nhập. Khi bạn đã sửa xong database của bạn, hãy chắc là bạn đã xóa dòng code mà bạn đã thêm  define( 'WP_ALLOW_REPAIR', true );  trong wp-config.php . Việc này sẽ tắt trang sửa lỗi và ngăn chặn bất kỳ ai có ý đồ xấu với database của bạn.

Hãy vẫn để wp-config mở, trừ khi bạn thấy lỗi đã được sửa và website hoạt động trở lại. Nếu bạn vẫn thấy thông báo Error establishing a database connection, bạn phải dùng nó cho bước tiếp theo.

Bước 2 — Kiểm tra cài đặt kết nối database trong wp-config.php

Nếu bước trên không hoạt động và không sử dụng được, vậy bước tiếp bạn cần làm là xem lại cấu hình kết nối bạn đã đặt trong file wp-config.php .

Trong tình huống bạn không biết chắc vì sao tin tức đăng nhập tự dưng ngừng hoạt động, hãy lưu ý là những việc làm như chuyển công ty hosting hoặc thay đổi bất kỳ thứ gì trong database hoặc tin tức user có thể gây lỗi nếu file wp-config.php không được cập nhật với thông tin mới.

File wp-config.php cũng có thể vẫn đang mở ở bước trước. Nếu không, đăng nhập vào File Manager của control panel hosting của bạn hoặc qua FTP và mở file. Bạn sẽ thấy chỗ cấu hình kết nối tới database tương tự giống như sau:

 // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'u694443746_aujev'); /** MySQL database username */ define('DB_USER', 'u694443746_vaven'); /** MySQL database password */ define('DB_PASSWORD', 'zuWupEXEdu'); /** MySQL hostname */ define('DB_HOST', 'mysql'); /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8'); /** The Database Collate type. Don't change this if in doubt. */ define('DB_COLLATE', ''); 

Ngoài ra, nếu cuộn xuống một ít nữa, bạn sẽ thấy tin tức Prefix:

 $table_prefix = 'wp_'; 

Như bạn cũng có thể thấy, có 4 tin tức quan trọng mà WordPress cần dùng để truy cập database:

  1. Tên database ( DB_NAME )
  2. Username đăng nhập ( DB_USER )
  3. Mật khẩu đăng nhập ( DB_PASSWORD )
  4. Datbase hostname ( DB_HOST )
  5. Database prefix ( table_prefix )

Nếu có bấ kỳ giá trị nào trong số chúng không đúng, WordPress sẽ không thể kết nối tới database của bạn. Và bạn sẽ gặp lỗi Error establishing a database connection

Cách định vị các tin tức trên là đúng là bạn phải kiểm tra lại tin tức MySQL database thực sự. Để làm vấn đề này bạn truy cập section  MySQL Databases . Bên dưới là phía dẫn kiểm tra MySQL database trên control panel của Hostinger và MySQL Database trong cPanel, phần này cũng giống với các nền tảng control panel cho hosting khác.

Hostinger control panel

Hostinger MySQL database section

Sau khi vào trong MySQL Databases , tìm mục L ist of Current MySQL Databases And Users . Nó sẽ liệt kê tất cả database và users đang được dùng cho website. Thông tin bạn cần tìm và đối chiếu nằm ngay cột MySQL   Database ,  MySQL User MySQL Host . 3 tin tức của 3 cột này DB_NAME DB_USER DB_HOST phải khớp với thông tin trong wp-config.php file.

Kiểm tra thông tin đăng nhập mysql database với wp-config

Nếu tin tức khác nhau, cập nhật file wp-config.php để cho giống giá trị và đọng lại thay đổi.

Tải lại trang WordPress website của bạn. Nếu bạn vẫn còn gặp lỗi kết nối database, vậy thì cũng có thể là 1 trong 2 thông tin còn lại là MySQL user password không khớp với mức giá trị trong wp-config.php . Để chắc là MySQL userpassword giống nhau, bạn chỉ cần đặt lại mật khẩu MySQL user bằng phương pháp nhấn vào dấu + kế bên MySQL database và chọn nút Change Password .

đổi mysql password

Giờ hãy cập nhật wp-config.php với mật khẩu mới bạn vừa đổi và tải lại trang WordPress site.

Nếu vẫn còn lỗi database connection, vậy bạn hãy kiểm tra thêm tin tức table prefix . Bạn cũng có thể kiểm tra lại tin tức này bằng phương pháp chuyển tới phpMyadmin trong MySQL databases   để mở WordPress database của bạn. Tìm table prefix trong đó và hãy chắc là table prefix giống với mức giá trị tương ứng trong file wp-config.php .

fix error establishing a database connection bằng table prefix

Nếu vẫn còn gặp lỗi MySQL database connection, hãy làm thêm bước 3.

cPanel

cPanel MySQL Databases đặt trong phần Databases .

Khi đã mở  MySQL Databases , tìm mục  Current Databases .  Nó sẽ liệt kê tất cả databases và users đã được sử dụng cho website cua bạn. Thông tin mà chúng ta đang kiếm tìm là  Database  và  Privileged Users . Mục đích là hãy đảm bảo giá trị trong 2 cột này khớp với DB_NAME DB_USER trong file wp-config.php .

Khớp giá trị giữa file wp-config.php với thông tin thật sự trong màn hình Current Databases .

Mỗi khi thi hành thay đổi, nhớ refresh trang để xem sửa lỗi được Error establishing a database connection chưa vì có thể bạn không phải làm hết mọi thứ các bước thì lỗ đã được sửa rồi.

Kiểm tra giá trị database name

Start with database name.

Chúng ta bắt đầu với database name value. Nếu mục  Current Databases  không liệt kê database trong file wp-config.php giống với giá trị DB_NAME , database đang bị thiếu. Việc này xảy ra khi một website chuyển tới hãng sản xuất hosting mới và database chưa được chuyển hoàn toàn. Chúng tôi khuyên bạn liên hệ của nhà sản xuất hosting mới và nhờ họ hoàn chỉnh chuyển /khôi phục database WordPress. Việc này sẽ bao gồ việc tạo database mới và cũng có thể khôi phục bằng database backup của WordPress.

Kiểm tra thông tin database user

Bước 2 chúng ta cần kiểm tra cột  Privileged Users . Trong tỉ dụ này, bạn cũng có thể mau chóng nhận ra  Privileged Users  có thông tin không giống với file wp-config.php file – trong file wp-config, tin tức bị thiếu số 0. Khi chúng tôi cập nhật giá trị DB_USER từ  somuvnet_wp67  thành  somuvnet_wp670 , chúng tôi đã sửa được lỗi sai username. Hãy thử tải lại trang để xem lỗi còn hiện hữu hay không.

Thêm priviledged user bị thiếu

Tuy nhiên, trong qui trình chuyển WordPress tới nhà sản xuất khác hoặc khi cài WordPress thủ công, bạn có thể quên thêm  user vào database. Kết quả là  Privileged Users  bị trống như hình bên dưới.

This database has no user added.

Để sửa lỗi này, chúng mình đã dùng mục  Add User To Database  ở cuối trang:

Quản lý người dùng và phân quyền

  1. Đầu tiên xem  Current Users  có giống với mức giá trị DB_USER value trong  wp-config.php được liệt kê ở đây không.
  2. Nếu nó được liệt kê, chúng ta sẽ dùng user đó trong phần Add User To Database -> User , chọn database tương ứng trong danh sách và nhấn nút Add.  Bạn bắt buộc phải định nghĩa quyền, chọn  All Privileges , click vào  Make Changes  và quay về bằng nút  Go Back .
  3. Nếu chưa được liệt kê, chúng ta sẽ sử dụng phần Add New User  để tạo thêm MySQL username. Tại đây bạn điền username hoặc phần không đủ vào trường  Username  và chúng tôi khuyên sử dụng Password generator để tạo  Pasword .

QUAN TRỌNG: bạn nên cập nhật giá trị DB_PASSWORD trong file wp-config.php ngay để nó khỏi bị mất trong công đoạn thao tác.

Khi user đã được thêm (hoặc được tạo), bạn sẽ thật cần thực hiện lại bước (2) để thêm nó vào database. Khi làm xong hãy tải lại trang để xem lỗi đã được sửa chưa.

Kiểm tra giá trị host

Nếu cả hai bước trên vẫn chưa sửa được, có 2  thông tin còn sót lại luôn phải kiểm tra. Là giá trị host và password. Hãy bắt đầu với mức giá trị host, giá trị host thường kèm theo với tin tức tài khoản. Chúng tôi khuyên kiểm tra lại thông tin này với nhà sản xuất hosting của bạn nếu không tìm thấy trong email được gửi tới cho bạn từ xưa về thông itn tài khoản. Nếu bạn đã đổi MySQL database host , hãy tải lại trang và xem lỗi Error establishing a database connection đã được sửa chưa.

Kiểm tra thông tin mật khẩu đăng nhập

Mật khẩu đăng nhập cũng có thể được tìm thấy trong mục  MySQL Databases -> Current Users  trong control panel.

  1. Xác định đúng user trong cột  Users  và click vào nút  Change Password  .
  2. Tại đây bạn có thể sử dụng giá trị hoặc tạo password mới bằng tool  Password Generator . Hãy cập nhật giá trị DB_PASSWORD trong wp-config.php file với password mới.
  3. Nhấn  Change Password

Đó là mọi thứ các bước kiểm tra cho file wp-config.php .  Hãy tải lại trang để xem lỗi được sửa chưa. Nếu lỗi vẫn chưa được sửa hãy làm bước cuối cùng.

Kiểm tra giá trị table prefix value

Cuối cùng, nhưng không thua phần quan, trọng, hãy chắc là table prefix cũng đúng. Mở database WordPress bằng phpMyAdmin và xem giá trị nó có khớp với table prefix trong file wp-config.php không.

kiểm tra wordpress db prefix để fix error establishing a database connection

Bước 3  Vô hiệu WordPress plugins 

Nếu cả 2 bước trên không thành công, đã đến lúc kiểm tra WordPress plugins của bạn. Nếu vô hiệu toàn bộ plugins cùng lúc, website tái khởi động thì khả năng lớn là tối thiểu 1 trong số plugin là xuất xứ của lỗi này. Sau đó bạn có thể tiếp tục kiểm tra xem chính xác plugin nào gây lỗi. Các bước sau sẽ giúp bạn vô hiệu toàn bộ plugin WordPress để sửa “error establishing a database connection”:

  1. Đăng nhập vào tài khoản bằng file manager hoặc FTP client
  2. Truy cập vào WordPress core files, và tìm thư mục wp-content . Truy cập. Tìm thư mục có tên plugins .
  3. Đổi tên thư mục đó thành tên khác bất kỳ như là plugins-disabled. Nó sẽ ngăn không cho WordPress coi đây là thư mục plugin nữa.
    vô hiệu plugins cho WordPress
  4. Kiểm tra website của bạn để xem error establishing a database connection có biến mất chưa.

Nếu chưa, hãy làm theo bước 4. Nếu rồi, vấn đề nằm ngay trong 1 trong các plugin WordPres. Giờ, để tìm chính xác plugin gây lỗi, bạn chỉ phải làm như sau:

  1. Đổi tên plugins folder thành plugins và truy cập vào nó.
  2. Đổi tên từng thư mục tuần tự, để WordPress không load plugin đó. Bạn có thể đặt tên nó thành tỉ dụ như akismet-disabled , và tiếp tục.
  3. Kiểm tra website của bạn mỗi lần bạn vô hiệu một plugin để xem nó có sửa được lỗi hay không.

Tuy nhiên, , if this didn’t bring your website back to normal, move onto the next step.

Bước 4 — Thay đổi WordPress Core Files

QUAN TRỌNG: Hãy tạo full backup cho website trước khi triển khai bước này. Bạn có thể backup website như hướng dẫn này.

Nếu error establishing a database connection WordPress vẫn còn, cách cuối cùng là phương pháp “bạo lực” nhất: thay thế WordPress core files. Vì cũng có thể có thể file bị nhiễm độc, hoặc bị corrupted sẽ ngăn WordPress hoạt động hoặc có lỗi khi cố kết nối tới database. Trong tình huống này, bạn có thể thay thế những file này bằng những file mới, chưa bị chỉnh sửa của WordPress core files. Đừng lo, cuối cùng sẽ ổn sau bước này. Bạn chỉ cần chắc là chỉ dùng phương pháp này khi bạn không còn cách nào khác, và các cách thức trên đã được thực hành.

Để thay đổi core WordPress files hãy làm theo các bước sau:

  1. Để thay đổi WordPress core files thủ công, tải phiên bản mới nhất của WordPress và bung file thành thư mục
  2. Truy cập FTP, xóa hoặc đổi tên thư mục wp-includes wp-admin khỏi server.
  3. Tải 2 thư mục này từ (1) lên tài khoản hosting.

Vậy là bạn đã đổi core files của WordPress. Để hiểu thêm thông tin về core file WordPress, hãy xem qua bài hướng dẫn này. Cách này sẽ sửa lỗi ‘Error establishing a database connection’ bạn đang gặp phải.

Bước 5 — Liên hệ công ty hosting của bạn

Nếu bạn đã làm các bước trên mà vẫn gặp lỗi, bạn vẫn còn thấy Error establishing a database connection,  có nghĩa lỗi do hãng sản xuất hosting. Hãy liên hệ nhà sản xuất dịch vụ web hosting của bạn và cho họ các tin tức cần có để tái hiện lỗi, họ cũng có thể xác định nguyên do gây lỗi.

Nhưng trước khi liên hệ tới nhà cung cấp hosting, có một phương pháp để bạn tìm hiểu nguyên nhân về lỗi Error establishing a database connection . Đôi khi, database bị offline bởi hãng sản xuất hosting của bạn.

Có nhiều nguyên nhân gây ra lỗi này, nhưng vẫn không phải hiếm gặp. Nếu đúng vậy, bạn có thể thêm tin tức cho hãng sản xuất hosting của bạn để xử lý vấn đề nhanh hơn.

Để kiểm tra xem database server có bị down hay không , bạn có thể truy cập vào phpMyAdmin trong mụ MySQL hoặc chạy một script PHP kết nối đơn giản. Script này để thực hiện một kết nối tới database. Không truy cập được phpMyAdmin hoặc script kết nối báo lỗi kết nối thất bại sẽ cho chúng ta biết server down. Chúng mình đã viết cho bạn script như sau:

    

Như bạn thấy, thông tin bạn phải là server name của bạn (thường được cấp bởi hãng sản xuất hosting), tên database bạn cố truy cập tới, MySQL username và mật khẩu. Chúng tôi đã đề cập vấn đề này ở bài hướng dẫn kết nối MySQL database bằng PHP. Không càng phải nói, bạn cần kiểm tra chuẩn xác giá trị trong thông tin MySQL có khớp nhau không phải như ở Bước 2 .

Chúng mình cũng đã tạo một biến  $conn , để lưu kết quả trả lời trong phương pháp mysqli_connect() . Nếu biến này trống, chúng ta sẽ thấy thông báo Connection failed: . Ở mặt khác, kết nối thành công vào database sẽ trả về kết quả Connected successfully hiện trên màn hình.

Script này sẽ giúp bạn biết database có bị offline hay không, nhà sản xuất web hosting của bạn cũng có thể có thể cần biết tin tức này.

Kết luận

Bài chỉ dẫn WordPress này còn cũng có thể giúp bạn sửa lỗi The Error establishing a database connection đang hiện lên trên WordPress. Bằng các bước thích hợp bạn sẽ cũng có thể có thể sửa lỗi nếu lỗi do database bị hỏng hoặc sai tin tức kết nối database trong file wp-config.php . Ngoài ra có thể có lỗi do hãng sản xuất hosting mà chỉ có họ mới sửa được nhưng 90% lỗi nằm ngay các vấn đề trên, hãy áp dụng cách sửa trên trước khi liên hệ đội bổ trợ kỹ thuật.

Từ khóa bài viết: dinhthuanit.com,

Bài viết Làm thế nào để sửa lỗi error establishing a database connection được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang