Hướng dẫn mysql read timeout - thời gian chờ đọc mysql

1. Mục đích: Bài viết này sẽ hướng dẫn cho quý khách xử lý lỗi timeout khi import các file database có dung lượng lớn (>50MB). Bài viết này sẽ hướng dẫn cho quý khách xử lý lỗi timeout khi import các file database có dung lượng lớn (>50MB).
Bài viết này sẽ hướng dẫn cho quý khách xử lý lỗi timeout khi import các file database có dung lượng lớn (>50MB).

Nội dung chính

  • 1. Kết nối đến database mysql từ PHP
  • 2. Các hàm trong PDO
  • 3. Hàm query, fetchAll, fetch
  • Phân trang trong PHP
  • Sử dụng tham số trong url
  • Gửi mail trong php qua gmail và mailtrap

Nội dung chính

  • 1. Kết nối đến database mysql từ PHP
  • 2. Các hàm trong PDO
  • 3. Hàm query, fetchAll, fetch
  • Phân trang trong PHP
  • Sử dụng tham số trong url
  • Gửi mail trong php qua gmail và mailtrap

2. Nguyên nhân:

Theo cấu hình mặc định của các máy chủ quý khách hàng chỉ có thể được phép upload tối đa file database (.sql, .sql.zip) là 50Mb khi thực hiện việc Upload và Import database từ giao diện PhpMyAdmin.  Việc import một lượng lớn dữ liệu vào mySql sẽ mất khá nhiều thời gian thực thi của php. Trong khi mặc định phpMyAdmin chỉ cho phép file php thực thi trong 300 giây, nếu thời gian thực thi lớn hơn sẽ gây ra lỗi timeout.upload tối đa file database (.sql, .sql.zip) là 50Mb khi thực hiện việc Upload và Import database từ giao diện PhpMyAdmin.  Việc import một lượng lớn dữ liệu vào mySql sẽ mất khá nhiều thời gian thực thi của php. Trong khi mặc định phpMyAdmin chỉ cho phép file php thực thi trong 300 giây, nếu thời gian thực thi lớn hơn sẽ gây ra lỗi timeout.upload tối đa file database (.sql, .sql.zip) là 50Mb khi thực hiện việc Upload và Import database từ giao diện PhpMyAdmin.  Việc import một lượng lớn dữ liệu vào mySql sẽ mất khá nhiều thời gian thực thi của php. Trong khi mặc định phpMyAdmin chỉ cho phép file php thực thi trong 300 giây, nếu thời gian thực thi lớn hơn sẽ gây ra lỗi timeout.

3. Cách xử lý: Đối với máy chủ có License cPanel Đối với máy chủ có License cPanel
 Đối với máy chủ có License cPanel

Nếu quý khách có sử dụng License Cpanel quý khách có thể thực thiện thao tác sau để kiểm tra việc cấu hình cho phép upload của máy chủ.

  1. Đăng nhập vào giao diện WHM/cPanel.
  2. Tìm đến menu Service Configuration » PHP Configuration EditorService Configuration » PHP Configuration EditorService Configuration » PHP Configuration Editor
  3. Tại đây quý khách cần tìm tham số max_execution_time và tăng tham số này lên.  Đây là tham số quy định thời gian thực thi php. Đơn vị tính là giây(s). Nếu quý khách đặt là 0 có nghĩa là không giới hạn thời gian thực thi. Sau đó Save lại.max_execution_time và tăng tham số này lên.  Đây là tham số quy định thời gian thực thi php. Đơn vị tính là giây(s). Nếu quý khách đặt là 0 có nghĩa là không giới hạn thời gian thực thi. Sau đó Save lại.max_execution_time và tăng tham số này lên.  Đây là tham số quy định thời gian thực thi php. Đơn vị tính là giây(s). Nếu quý khách đặt là 0 có nghĩa là không giới hạn thời gian thực thi. Sau đó Save lại.

Hướng dẫn mysql read timeout - thời gian chờ đọc mysql

 Đối với máy chủ không có License cPanel

Nếu không sử dụng License cPanel, thao tác sẽ khó khăn hơn một chút, khi đó quý khách phải chỉnh sửa trên file php.ini.License cPanel, thao tác sẽ khó khăn hơn một chút, khi đó quý khách phải chỉnh sửa trên file php.ini.License cPanel, thao tác sẽ khó khăn hơn một chút, khi đó quý khách phải chỉnh sửa trên file php.ini.

      1. SSH vào server cần cấu hình.SSH vào server cần cấu hình.SSH vào server cần cấu hình.

      2. Tìm file php.ini php.ini php.ini

      Tuỳ vào cấu hình trên từng server khác nhau nên file php.ini có thể nằm ở đường dẫn khác nhau. Quý khách có thể sử dụng lệnh sau để tìm file php.ini   

      # find /usr -name php.ini   

       Lệnh trên sẽ trả về danh sách các đường dẫn có file php.ini

       3. Mở file php.in tìm và thay đổi tham số

       max_execution_time = 300  (hoặc lớn hơn) max_execution_time = 300  (hoặc lớn hơn) max_execution_time = 300  (hoặc lớn hơn)

       Sau đó Save lại.4. Hướng dẫn import database trực tiếp bằng Command line.Các bước để import database bằng lệnh như sau:    1. Upload file dumpfilename.sql  lên server. Khách hàng có thể dùng FTP để upload. (tham khảo tại đây.)Save lại.4. Hướng dẫn import database trực tiếp bằng Command line.Các bước để import database bằng lệnh như sau:    1. Upload file dumpfilename.sql  lên server. Khách hàng có thể dùng FTP để upload. (tham khảo tại đây.)Save lại.
4. Hướng dẫn import database trực tiếp bằng Command line.
Các bước để import database bằng lệnh như sau:
    1. Upload file dumpfilename.sql  lên server. Khách hàng có thể dùng FTP để upload. (tham khảo tại đây.)

    2. Tạo database 

        CREATE DATABASE database_name;

     Sau đó tạo user và gán quyền cho user (tham khảo tại đây)    3. Dùng lệnh sau để import database.    3. Dùng lệnh sau để import database.
    3. Dùng lệnh sau để import database.

   mysql -u [username] -p [database_name] < [dumpfilename.sql]
Với:
username là user dùng để chạy database.
database_name là tên database cần import.
dumpfilename.sql là file database vừa upload lên server.

Ngoài ra quý khách có thể tham khảo thêm bài viết hướng dẫn sử dụng bigdump để import dữ liệu có dung lượng lớn tại đâybigdump để import dữ liệu có dung lượng lớn tại đâybigdump để import dữ liệu có dung lượng lớn tại đây

I'm using PDO to get data off a MySQL server. What I noticed is this: if the MySQL server is unavailable, it takes really (relatively) long for this code to return an exception:

Nội dung chính

  • 1. Kết nối đến database mysql từ PHP
  • 2. Các hàm trong PDO
  • 3. Hàm query, fetchAll, fetch
  • Phân trang trong PHP
  • Sử dụng tham số trong url
  • Gửi mail trong php qua gmail và mailtrap

Nội dung chính

  • 1. Kết nối đến database mysql từ PHP
  • 2. Các hàm trong PDO
  • 3. Hàm query, fetchAll, fetch
  • Phân trang trong PHP
  • Sử dụng tham số trong url
  • Gửi mail trong php qua gmail và mailtrap
try {
  $handle = new PDO($db_type . ':host='.$db_host.';dbname='.$db_name,$db_user,$db_pass);
  // Tried using PDO::setAttribute and PDO::ATTR_TIMEOUT here
} catch(PDOException $e) {
  echo $e->getMessage;
}

Nội dung chính

2. Nguyên nhân:

Theo cấu hình mặc định của các máy chủ quý khách hàng chỉ có thể được phép upload tối đa file database (.sql, .sql.zip) là 50Mb khi thực hiện việc Upload và Import database từ giao diện PhpMyAdmin.  Việc import một lượng lớn dữ liệu vào mySql sẽ mất khá nhiều thời gian thực thi của php. Trong khi mặc định phpMyAdmin chỉ cho phép file php thực thi trong 300 giây, nếu thời gian thực thi lớn hơn sẽ gây ra lỗi timeout.

3. Cách xử lý: Đối với máy chủ có License cPanel

Nếu quý khách có sử dụng License Cpanel quý khách có thể thực thiện thao tác sau để kiểm tra việc cấu hình cho phép upload của máy chủ.


Đăng nhập vào giao diện WHM/cPanel.

1. Kết nối đến database mysql từ PHP

Tìm đến menu Service Configuration » PHP Configuration Editor


Tại đây quý khách cần tìm tham số max_execution_time và tăng tham số này lên.  Đây là tham số quy định thời gian thực thi php. Đơn vị tính là giây(s). Nếu quý khách đặt là 0 có nghĩa là không giới hạn thời gian thực thi. Sau đó Save lại.

getMessage() ) ;  
}

2. Các hàm trong PDO

3. Hàm query, fetchAll, fetch

  1. Phân trang trong PHP
  2. Sử dụng tham số trong url
  3. Gửi mail trong php qua gmail và mailtrap
  4. Nội dung chính
  5. 2. Nguyên nhân:
  6. Theo cấu hình mặc định của các máy chủ quý khách hàng chỉ có thể được phép upload tối đa file database (.sql, .sql.zip) là 50Mb khi thực hiện việc Upload và Import database từ giao diện PhpMyAdmin.  Việc import một lượng lớn dữ liệu vào mySql sẽ mất khá nhiều thời gian thực thi của php. Trong khi mặc định phpMyAdmin chỉ cho phép file php thực thi trong 300 giây, nếu thời gian thực thi lớn hơn sẽ gây ra lỗi timeout.
  7. 3. Cách xử lý: Đối với máy chủ có License cPanel
  8. Nếu quý khách có sử dụng License Cpanel quý khách có thể thực thiện thao tác sau để kiểm tra việc cấu hình cho phép upload của máy chủ.
  9. Đăng nhập vào giao diện WHM/cPanel.
  10. Tìm đến menu Service Configuration » PHP Configuration Editor
  11. Tại đây quý khách cần tìm tham số max_execution_time và tăng tham số này lên.  Đây là tham số quy định thời gian thực thi php. Đơn vị tính là giây(s). Nếu quý khách đặt là 0 có nghĩa là không giới hạn thời gian thực thi. Sau đó Save lại.

3. Hàm query, fetchAll, fetch

Phân trang trong PHP

Sử dụng tham số trong url

query("select idTin, TieuDe, TomTat, Ngay from tin");
$d = $data->fetchAll();
?>

Danh sách tin

Gửi mail trong php qua gmail và mailtrap

query("SELECT idLT, Ten, ThuTu FROM loaitin LIMIT 0,5");
?>

fetch()) {?>