Lỗi kết nối cơ sở dữ liệu. cài đặt magento


10

Tôi đã cố gắng cài đặt magento, nhưng khi tôi đang cố gắng cài đặt magento từ trình duyệt, nó hiển thị " Lỗi kết nối cơ sở dữ liệu " trong khi cài đặt Magento.

nhập mô tả hình ảnh ở đây


bạn cần tạo cơ sở dữ liệu bằng phpmyadmin và cung cấp tên người dùng và mật khẩu.
Akhilesh Patel

Câu trả lời:


9

Trước hết, kiểm tra tên người dùng và mật khẩu cơ sở dữ liệu của bạn. Trước khi bạn tiến hành bước này, bạn đã thiết lập cơ sở dữ liệu trong MySQL. Bạn cần tạo một người dùng và cấp đặc quyền truy cập cho người dùng đó.

Sau đó kiểm tra cấu hình máy chủ MySQL của bạn. Số cổng mặc định là 3306. Tuy nhiên, quản trị viên hệ thống của bạn có thể thay đổi nó thành một số khác. Hoặc nếu bạn đang sử dụng các gói phần mềm như MAMP / WAMP, số cổng có thể được đặt thành một số khác ngoài 3306. Trong những trường hợp này, bạn cần đặt rõ ràng số cổng vào trường Máy chủ.

Nếu tất cả những điều này là chính xác và bạn vẫn có lỗi kết nối cơ sở dữ liệu, bạn có thể thử sử dụng tài khoản root để truy cập cơ sở dữ liệu. Nếu root hoạt động, điều đó có nghĩa là có vấn đề với các đặc quyền trong cài đặt MySQL của bạn. Mặc dù không nên sử dụng tài khoản root để triển khai sản xuất trong tương lai vì nó làm tăng rủi ro bảo mật cho máy chủ.


vẫn có lỗi kết nối cơ sở dữ liệu.
Darshan Patel

5

Đây là một câu hỏi khá cũ nhưng tôi đã bắt gặp nó gần đây và tôi hy vọng câu trả lời này sẽ giúp người khác. Vấn đề của tôi thuộc về phiên bản cũ của Magento trên bản cài đặt WAMP mới. Kể từ MySQL 5.6.1, biến have_innodb đã bị xóa. Tuy nhiên, trình cài đặt Magento kiểm tra biến đó và đưa ra lỗi nếu nó không tìm thấy. Nếu bạn thực sự kiểm tra nhật ký ngoại lệ, bạn sẽ thấy một lỗi mà máy chủ cơ sở dữ liệu không hỗ trợ InnoDB. Tuy nhiên, trong trình xử lý bắt, nó chỉ ghi lại ngoại lệ đó và đưa ra một thông báo "Lỗi kết nối cơ sở dữ liệu" chung chung.

Cách khắc phục đơn giản nhất, nếu bạn chắc chắn rằng DB của bạn hỗ trợ InnoDB, chỉ đơn giản là chỉnh sửa app\code\core\Mage\Install\Model\Installer\Db.php, tìm checkDatabasephương thức và nhận xét phần ở cuối khối thử kiểm tra have_innodb. Thông thường, tôi sẽ không ủng hộ việc chỉnh sửa các tệp lõi, nhưng điều này chỉ để trình cài đặt hoạt động, vì vậy tôi nói rằng nó đủ an toàn.


4

Đầu tiên tạo một db http://localhost/phpmyadmin

giả sử Tên DB: testdb

Tên cấu hình trang db: tên người dùng testdb: mật khẩu gốc: trống (không nhập bất kỳ giá trị nào)


4
  • Đi đến app/code/core/Mage/Install/Model/Installer/Db.php
  • Tìm checkDatabase($data)hàm
  • Ở cuối chức năng này, có đoạn mã sau:

    Mage::throwException(Mage::helper('install')->__('Database connection error.'));
  • Thay đổi nó thành như sau:

    Mage::throwException(Mage::helper('install')->__($e->getMessage()));
  • Truy cập trình duyệt của bạn, nơi bạn đang cài đặt Magento, nhấp vào Continuenút

  • Bây giờ, bạn sẽ có thể thấy một số thông báo lỗi thích hợp

Trong trường hợp của tôi, tôi nhận được thông báo lỗi sau:

Máy chủ cơ sở dữ liệu không hỗ trợ công cụ lưu trữ InnoDB.

Vì vậy, để giải quyết vấn đề này, tôi đã nhận xét kiểm tra InnoDB trong cùng checkDatabasechức năng.

// check InnoDB support
/*if (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') {
    Mage::throwException(Mage::helper('install')->__('Database server does not support the InnoDB storage engine.'));
}*/

Sau đó, tôi đã có thể cài đặt Magento.


1

Bạn có thể thử sử dụng mã này để tìm thêm chi tiết về loại lỗi kết nối cơ sở dữ liệu hoặc kiểm tra xem tên người dùng và mật khẩu có đúng không

<?php
      $mysqli=mysqli_connect("host","user","password","database name");

      if(mysqli_connect_errno()){
          printf("Connect failed: %s\n", mysqli_connect_error());
          exit();
      }else{
          echo "Connection succesfull!";
      }
?>

Lưu tập lệnh này dưới dạng tệp php và đặt nó trên máy chủ. Đầu ra sẽ là lỗi kết nối hoặc nếu không có lỗi thì đầu ra sẽ là "Kết nối thành công!". "máy chủ" - bạn có thể nhập vào đây "localhost", "người dùng" - tại đây bạn phải nhập tên người dùng cơ sở dữ liệu, "mật khẩu" - ở đây bạn phải nhập mật khẩu cơ sở dữ liệu, "tên cơ sở dữ liệu" - ở đây bạn phải nhập tên cơ sở dữ liệu.


0
  1. Bạn đã đặt tên cơ sở dữ liệu là magento
  2. Vì vậy, vui lòng kiểm tra xem bạn đã tạo magento có tên cơ sở dữ liệu hay chưa.
  3. Nếu không, bạn cần tạo một db trống được gọi magentotrước.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.