09/10/2018, 18:04

[Q] Mysql - phpmyadmin help?

TV2 tạo table trong phpmyadmin, bi giờ muốn backup hoặc chép cho máy khác thì làm thế nào đây.
Ở trong phpmyadmin có cho tạo filed mà đói tượng trong đó là đối tượng nhúng không, giả sử như chứa một file ảnh chẳng hạn
sotret viết 20:20 ngày 09/10/2018
Trong phpMyAdmin có chức năng Export dữ liệu, bạn vào trong đó mà export save as file, rồi import bằng chức năng SQL trong phpMyAdmin.
Còn trong MySQL có cấu trúc BLOB để nhúng dữ liệu binary như bạn mong muốn. Khi nào thành công xin cho biết để học hỏi với, tôi cũng đang quan tâm đến nó đấy. Chúc thành công
closeyoureyes viết 20:11 ngày 09/10/2018
Đơn giản thôi. Mỗi CSDL bạn tạo ra đề chứa trong một thư mục cùng tên với CSDL, đặt tại thư mục C:/mysql/data. Ví dụ, bạn có 1 CSDL tên là mydatabase thì tất cả các dữ liệu về các bảng đều đặt trong thư mục c:/mysql/data/mydatabase. Bạn chỉ cần chép nguyên cái thư mục này mà backup hoặc mang sang máy khác, đặt nó vào thư mục data là được.
closeyoureyes viết 20:07 ngày 09/10/2018
Xin nói thêm 1 chút, nếu bạn chỉ muốn chép 1 bảng nào đó trong CSDL thì làm như sau: Vẫn giả sử bạn có CSDL như trên, trong đó bạn có 1 bảng là mytable, thì bạn nhẩy vào thư mục c:/mysql/data/mydatabase/ bạn sẽ thấy có 3 file với phần đầu giống nhau là mytable.***. Chép nguyên 3 file này tức là bạn đã có được bảng mà bạn muốn backup. Hi` hi`, nhưng tui cũng không rõ là có thể sao chép 1 trường nào đó trong 1 bảng không. Nếu ai biết cách thì post lên cho anh em xài nha
hoangleo viết 20:15 ngày 09/10/2018
Đúng nhu SOTRET đã nói, trong phpMyAdmin có phần export toàn bộ CSDL ra file text. sau đó qua máy khác cũng dùn tool phpMyAdmin để import file đó vào cho việc tạo lại toàn bộ CSDL trên máy mới.
- Còn về vấn đề lưu file ảnh vào CSDL dùng kiểu BLOB của mySQL thì mình khuyện bạn là không nên, vì những lưu ý sau:
+ Thứ nhất: CSDL sẽ phình to nhanh chóng... điều này sẽ tạo kho khăn trong việc tra lọc dữ liệu vì phải dùng nhiều vùng nhớ trên Server.
+ Thứ hai: Nếu trường hợp CSDL gặp trục trặc liên quan đến bản chứa kiểu dữ liệu BLOB thì xem như toàn bộ lô ảnh đã lưu đi tong.

=> Vì 2 lý do trên, mình khuyên bạn chỉ nên dùng kiểu CHAR để lưu đường dẫn file ảnh lưu trong Project Web của bạn. Trong CSDL chỉ khi ra đường dẫn dẫn đến file ảnh đó. Khi đưa ra web, bạn chỉ việc kèm tên trường trong CSDL vào đường dẫn của đối tuợng IMG... làm như sau:
****PHP***
<IMG src="<? print {$row->fileanh} ?>">
****ASP***
<IMG src="<% =RS.fields("fileanh") %>">

Chuc ban thanh cong
ILoveJava viết 20:10 ngày 09/10/2018
Quote Được gửi bởi hoangleo
Đúng nhu SOTRET đã nói, trong phpMyAdmin có phần export toàn bộ CSDL ra file text. sau đó qua máy khác cũng dùn tool phpMyAdmin để import file đó vào cho việc tạo lại toàn bộ CSDL trên máy mới.
- Còn về vấn đề lưu file ảnh vào CSDL dùng kiểu BLOB của mySQL thì mình khuyện bạn là không nên, vì những lưu ý sau:
+ Thứ nhất: CSDL sẽ phình to nhanh chóng... điều này sẽ tạo kho khăn trong việc tra lọc dữ liệu vì phải dùng nhiều vùng nhớ trên Server.
+ Thứ hai: Nếu trường hợp CSDL gặp trục trặc liên quan đến bản chứa kiểu dữ liệu BLOB thì xem như toàn bộ lô ảnh đã lưu đi tong.

=> Vì 2 lý do trên, mình khuyên bạn chỉ nên dùng kiểu CHAR để lưu đường dẫn file ảnh lưu trong Project Web của bạn. Trong CSDL chỉ khi ra đường dẫn dẫn đến file ảnh đó. Khi đưa ra web, bạn chỉ việc kèm tên trường trong CSDL vào đường dẫn của đối tuợng IMG... làm như sau:
****PHP***
<IMG src="<? print {$row->fileanh} ?>">
****ASP***
<IMG src="<% =RS.fields("fileanh") %>">

Chuc ban thanh cong
Theo mình bạn chỉ nói đúng phần nào thôi. Vì thực ra cũng có lúc rất cần lưu những file dữ liệu nhúng vào cơ sở dữ liệu (ảnh chỉ là một trường hợp) ví dụ như cần về tính bảo mật chẳng hạn. Vì tính ưu việt trong việc lưu trữ các thông tin trong cơ sở dữ liệu là một điều không thể bỏ qua.
Bài liên quan
0