[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
13/09/2006 07:30:39 (+0700) | #1 | 22903 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Tôi đang cố gắng xây dựng riêng cho mình 1 Web server, và rất cần được giúp đở để tạo nên một CSDL tốt.
Rất mong các bác có kinh nghiệm trong chuyện này giúp đỡ hoặc có tài liệu hướng dẫn (Anh hay Việt đều được).
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
13/09/2006 20:07:51 (+0700) | #2 | 23001 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Defender wrote:
Tôi đang cố gắng xây dựng riêng cho mình 1 Web server, và rất cần được giúp đở để tạo nên một CSDL tốt.
Rất mong các bác có kinh nghiệm trong chuyện này giúp đỡ hoặc có tài liệu hướng dẫn (Anh hay Việt đều được).
Em cho biết thêm tốt ở khía cạnh nào? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
15/09/2006 08:08:55 (+0700) | #3 | 23467 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
conmale wrote:
Defender wrote:
Tôi đang cố gắng xây dựng riêng cho mình 1 Web server, và rất cần được giúp đở để tạo nên một CSDL tốt.
Rất mong các bác có kinh nghiệm trong chuyện này giúp đỡ hoặc có tài liệu hướng dẫn (Anh hay Việt đều được).
Em cho biết thêm tốt ở khía cạnh nào?
Em xin lỗi vì mấy hôm nay bận quá không trả lời anh ngay được.
Em nghĩ, trước tiên khoan nghĩ tới chuyện bảo mật, mà cần tạo 1 CSDL tốt về mặt cấu trúc, sao cho không bị lỗi, tốc độ truy xuất dữ liệu nhanh, và có khả năng mở rộng tốt.
Theo em chuẩn hóa dữ liệu là 1 việc vô cùng quan trọng trong việc tạo 1 CSDL tốt. Và em đã gặp rất nhiều khó khăn trong việc chuẩn hóa dữ liệu. |
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
15/09/2006 12:01:12 (+0700) | #4 | 23499 |
|
hakuso
HVA Friend
|
Joined: 04/01/2004 13:28:06
Messages: 287
Location: làng Đo Đo
Offline
|
|
Defender wrote:
Em nghĩ, trước tiên khoan nghĩ tới chuyện bảo mật, mà cần tạo 1 CSDL tốt về mặt cấu trúc, sao cho không bị lỗi, tốc độ truy xuất dữ liệu nhanh, và có khả năng mở rộng tốt
Hơi khó hiểu chút :?
"CSDL tốt" hiểu theo nghĩa cấu hình MySQL thì dĩ nhiên là do kinh nghiệm quản trị hay chịu khó đọc manual của MySQL (ít nhiều cũng giải quyết được)
Còn nếu "tốt" về mặt tổ chức dữ liệu, quan hệ table thì rơi vào 2 trường hợp
1. dùng ứng dụng của người khác thì họ đã design sẵn rồi, dù CSDL của họ thiết kế tốt hay không, có trùng lắp dữ liệu nhiều hay ít bạn cũng phải chấp nhận :wink: .
2. tự viết ứng dụng và tự thiết kế database. Quá tốt, tự mình làm thì sẽ an tâm hơn )
Hì, xong chắc bạn chẳng thấy tui trả lời gì cả mà chỉ nói suông thôi . |
|
Live, fight, work and study |
|
|
|
[Question] Re:Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
16/09/2006 20:37:09 (+0700) | #5 | 23730 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Đương nhiên là tôi tự viết ứng dụng và tự thiết kế DB. Nếu xài đồ của người khác thì tôi đâu có nhờ được giúp đỡ làm gì.
Tôi cần được giúp đỡ là vì:
- Tôi chưa làm công việc này bao giờ, chưa có kinh nghiệm cần thiết cũng như thiếu thốn tài liệu.
- Tôi mong được nghe nhiều lời khuyên từ những người đã trực tiếp làm công việc này rồi, những lời khuyên mang tính chất định hướng chứ không mong được hướng dẫn chi tiết hoặc làm thay.
Rất cảm ơn.
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
16/09/2006 22:38:00 (+0700) | #6 | 23752 |
longxe
Member
|
0 |
|
|
Joined: 07/09/2006 18:03:45
Messages: 6
Offline
|
|
mình cũng có tự thiết kế được cho 2 cái project, nên cũng 0 có kinh nghiệm nhiều.
theo mình thì cứ thiết kế sao cho đạt dạng chuẩn 3 đã, khi đạt chuẩn thì dễ mở rộng.
sau khi đạt chuẩn 3 thì tuỳ biến lại 1 tí cho dễ code tí.
thế là xong, tại 2 cái DB của mình cũng 0 lớn lắm.
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
18/09/2006 05:02:18 (+0700) | #7 | 24028 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Defender wrote:
conmale wrote:
Defender wrote:
Tôi đang cố gắng xây dựng riêng cho mình 1 Web server, và rất cần được giúp đở để tạo nên một CSDL tốt.
Rất mong các bác có kinh nghiệm trong chuyện này giúp đỡ hoặc có tài liệu hướng dẫn (Anh hay Việt đều được).
Em cho biết thêm tốt ở khía cạnh nào?
Em xin lỗi vì mấy hôm nay bận quá không trả lời anh ngay được.
Em nghĩ, trước tiên khoan nghĩ tới chuyện bảo mật, mà cần tạo 1 CSDL tốt về mặt cấu trúc, sao cho không bị lỗi, tốc độ truy xuất dữ liệu nhanh, và có khả năng mở rộng tốt.
Theo em chuẩn hóa dữ liệu là 1 việc vô cùng quan trọng trong việc tạo 1 CSDL tốt. Và em đã gặp rất nhiều khó khăn trong việc chuẩn hóa dữ liệu.
- vấn đề bảo mật nên được xét ngay từ đầu. Không nên hình thành một cấu trúc database mà không nghĩ đến chuyện này rồi sau này mới điều chỉnh lại.
- về mặt cấu trúc, database chỉ có thể có cấu trúc tốt cho một đòi hỏi cụ thể nào đó. Khó có thể hình thành một database có cấu trúc tốt cho mọi nhu cầu. Tuy nhiên, điều cần nắm là nên "nhóm" các columns có cùng tính chất (chứa một nhóm thông tin trực tiếp liên quan với nhau) trong cùng table hơn là rải chúng ra.
- Các data field cần xác định datatype, length cho rõ ràng. Không nên đoán hoặc đưa đại một giá trị nào đó theo cảm tính. Việc truy xuất nhanh phụ thuộc vào nhiều yếu tố: em query những gì? em query nhiều ít thế nào? database được optimise đúng mức chưa? database chạy trên máy chủ có tài nguyên thích hợp hay không? Em dùng cơ chế truy vấn thế nào?
- Lỗi truy vấn thường xảy ra do câu truy vấn. Còn lỗi chung chung (do database) thì phải cập nhật và báo lỗi cho nhóm phát triển database software nào mình dùng.
Muốn "chuẩn hoá dữ liệu" trước tiên em phải xác định rõ là em muốn chương trình của em lưu dữ liệu gì và lấy những dự liệu gì. Nói 1 cách khác, em phải thiết kế application của em trước rồi mới dựa vào đó mà thiết kế CSDL.
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
18/09/2006 21:40:02 (+0700) | #8 | 24143 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
conmale wrote:
- vấn đề bảo mật nên được xét ngay từ đầu. Không nên hình thành một cấu trúc database mà không nghĩ đến chuyện này rồi sau này mới điều chỉnh lại.
- về mặt cấu trúc, database chỉ có thể có cấu trúc tốt cho một đòi hỏi cụ thể nào đó. Khó có thể hình thành một database có cấu trúc tốt cho mọi nhu cầu. Tuy nhiên, điều cần nắm là nên "nhóm" các columns có cùng tính chất (chứa một nhóm thông tin trực tiếp liên quan với nhau) trong cùng table hơn là rải chúng ra.
- Các data field cần xác định datatype, length cho rõ ràng. Không nên đoán hoặc đưa đại một giá trị nào đó theo cảm tính. Việc truy xuất nhanh phụ thuộc vào nhiều yếu tố: em query những gì? em query nhiều ít thế nào? database được optimise đúng mức chưa? database chạy trên máy chủ có tài nguyên thích hợp hay không? Em dùng cơ chế truy vấn thế nào?
- Lỗi truy vấn thường xảy ra do câu truy vấn. Còn lỗi chung chung (do database) thì phải cập nhật và báo lỗi cho nhóm phát triển database software nào mình dùng.
Muốn "chuẩn hoá dữ liệu" trước tiên em phải xác định rõ là em muốn chương trình của em lưu dữ liệu gì và lấy những dự liệu gì. Nói 1 cách khác, em phải thiết kế application của em trước rồi mới dựa vào đó mà thiết kế CSDL.
Thân mến.
Cảm ơn anh Conmale nhiều lắm.
Em luôn ước mơ có thể tạo ra 1 Web server "Defender - người bảo vệ" đúng nghĩa. Đó luôn luôn là động lực để em làm việc.
Anh nói: "vấn đề bảo mật nên được xét ngay từ đầu".
Anh cũng đã từng nói: "Bảo mật cái gì thì phải hiểu rõ cái mình muốn bảo mật"
Vậy trong trường hợp của em (chưa hề có kinh nghiệm cũng như non nớt về kiến thức) phải bắt đầu như thế nào để đi đúng hướng?
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
18/09/2006 23:10:44 (+0700) | #9 | 24164 |
longxe
Member
|
0 |
|
|
Joined: 07/09/2006 18:03:45
Messages: 6
Offline
|
|
conmale wrote:
- vấn đề bảo mật nên được xét ngay từ đầu. Không nên hình thành một cấu trúc database mà không nghĩ đến chuyện này rồi sau này mới điều chỉnh lại.
ừh cái vụ này từ trước tới giờ thiết kế DB mà em không biết phải làm cái vụ này ra sao, em chỉ dừng ở mức là phân quyền user hè.
mong anh cho 1 ví dụ cụ thể minh hoạ càng tốt. |
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
18/09/2006 23:54:34 (+0700) | #10 | 24170 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Defender wrote:
Cảm ơn anh Conmale nhiều lắm.
Em luôn ước mơ có thể tạo ra 1 Web server "Defender - người bảo vệ" đúng nghĩa. Đó luôn luôn là động lực để em làm việc.
Anh nói: "vấn đề bảo mật nên được xét ngay từ đầu".
Anh cũng đã từng nói: "Bảo mật cái gì thì phải hiểu rõ cái mình muốn bảo mật"
Vậy trong trường hợp của em (chưa hề có kinh nghiệm cũng như non nớt về kiến thức) phải bắt đầu như thế nào để đi đúng hướng?
Bảo mật không chỉ dừng lại ở chỗ "cản không cho người nào không đủ thẩm quyền truy cập vào database và làm những chuyện trái phép" mà còn bảo đảm nó không bị treo, nó không nuốt hết tài nguyên của hệ thống và làm hệ thống treo hoặc không thể làm việc được nữa.
Trong phạm vi "lưu dữ liệu", tính bảo mật nằm ở chỗ xác định và ấn định data field cho đúng. Ví dụ, em có một column username chẳng hạn, không có lý do gì em cho nó có datatype là longtext có chiều dài quá dư thừa.
Trong phạm vi dịch vụ của database, access control là trọng điểm cho bảo mật. Không bao giờ tạo một database mà có password rỗng. Cũng không nên gán quyền một cách bừa bãi. Tuỳ database software, chúng có những công cụ và chức năng khác nhau để quản lý vấn đề này.
Hồ sơ cấu hình của một dịch vụ database phải được xét và điều chỉnh để đáp ứng nhu cầu cụ thể một cách hợp lý (kích thước database, bao nhiêu database, dữ liệu xuất nhập lớn hay nhỏ, bao nhiêu người cùng dùng, bao nhiêu truy vấn mỗi giây....) Không nên dùng hồ sơ cấu hình mặc định.
Đối với một CSDL được dùng thực sự trong môi trường PRODUCTION, mọi thay đổi phải được thoả mãn trên server thử nghiệm trước khi áp dụng vào PRODUCTION server. Database phải được backup thường xuyên và phải thực hiện và ghi nhận từng bước cụ thể và chính xác cho quy trình phục hồi.
Vấn đề thiết kế database server trong mô hình multi-tiers cũng đóng vai trò cực kỳ quan trọng. Không chạy chung database trên web server / appserver nếu application data là vấn đề quan trọng hàng đầu.
Quay lại câu hỏi của em "Vậy trong trường hợp của em (chưa hề có kinh nghiệm cũng như non nớt về kiến thức) phải bắt đầu như thế nào để đi đúng hướng?": em dùng database software nào thì tham khảo kỹ lưỡng tài liệu của software đó. Đọc và làm thử. Sau đó thay đổi, điều chỉnh, quậy phá... để rút ra được những kinh nghiệm cụ thể trên loại database software đó. Anh thấy đa số các newbie có cái tật là cài một cái gì lên là "mò" ngay. Không mấy ai thèm đọc tài liệu cho cẩn thận (uổng công những người viết tài liệu). Làm "mò" mà "hên" thì còn suông sẻ, "xui" thì đâm ra nản. Tệ hại hơn nữa là tư duy "miễn sao chạy được" là đủ. Có 3 levels:
1) chạy được.
2) chạy được và không thiếu sót.
3) chạy nhanh và không thiếu sót.
Bước 1) cần tài liệu. Bước 2) cần thử nghiệm và điều chỉnh. Bước 3) cần kinh nghiệm và mở rộng.
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
19/09/2006 04:19:55 (+0700) | #11 | 24208 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Cảm ơn anh Conmale.
Em sẽ cố gắng để khỏi phụ công anh dạy bảo tận tình.
|
|
|
|
|
[Question] Re: Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
19/09/2006 06:45:38 (+0700) | #12 | 24238 |
subnetwork
Member
|
0 |
|
|
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
|
|
Hiện tại Mysql hỗ trợ về phần mã hoá SSL và chứng thực X509, vì vậy bro nên nghiên cứu ở phần này nhất là Require SSL (trong mysql) và nếu lang thang sang thì lại dính dáng đến phần mềm OpenSSH - một phần mềm dính dáng đến nhiều dịch vụ trên *nix .
Một chổ mà bro cần, khi thiết kế database đối với mysql .
Code:
http://www.securityfocus.com/infocus/1667
or
http://mysqld.active-venture.com/Secure_GRANT.html
Đây là đoạn mà tôi chôm được từ google .
mysql> GRANT ALL PRIVILEGES ON test.* TO ga@localhost
-> IDENTIFIED BY 'goodsecret'
-> REQUIRE SUBJECT 'C=EE, ST=Some-State, L=Tallinn,
'> O=MySQL demo client certificate,
'> CN=Tonu Samuel/Email=tonu@mysql.com'
-> AND ISSUER 'C=FI, ST=Some-State, L=Helsinki,
'> O=MySQL Finland AB, CN=Tonu Samuel/Email=tonu@mysql.com'
-> AND CIPHER 'EDH-RSA-DES-CBC3-SHA';
Bro nghiên cứu đoạn code trên thử xem, xem có gì khác biệt với cách mà bro tạo CSDL từ Cpanel xem, rồi tự đặt câu hỏi và tìm ra câu trả lời luôn :cry: Ví dụ như nếu không thêm đoạn này IDENTIFIED BY thì database của tui có bị sao hông và tùm lum câu hỏi, tự hỏi và tự ... tìm kiếm câu trả lời . Nếu không được thì pó tay , he he
Thân |
|
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com |
|
|
|
[Question] Re: Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
19/09/2006 22:05:33 (+0700) | #13 | 24356 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Golden Autumn wrote:
Hiện tại Mysql hỗ trợ về phần mã hoá SSL và chứng thực X509, vì vậy bro nên nghiên cứu ở phần này nhất là Require SSL (trong mysql) và nếu lang thang sang thì lại dính dáng đến phần mềm OpenSSH - một phần mềm dính dáng đến nhiều dịch vụ trên *nix .
Một chổ mà bro cần, khi thiết kế database đối với mysql .
Code:
http://www.securityfocus.com/infocus/1667
or
http://mysqld.active-venture.com/Secure_GRANT.html
Đây là đoạn mà tôi chôm được từ google .
mysql> GRANT ALL PRIVILEGES ON test.* TO ga@localhost
-> IDENTIFIED BY 'goodsecret'
-> REQUIRE SUBJECT 'C=EE, ST=Some-State, L=Tallinn,
'> O=MySQL demo client certificate,
'> CN=Tonu Samuel/Email=tonu@mysql.com'
-> AND ISSUER 'C=FI, ST=Some-State, L=Helsinki,
'> O=MySQL Finland AB, CN=Tonu Samuel/Email=tonu@mysql.com'
-> AND CIPHER 'EDH-RSA-DES-CBC3-SHA';
Bro nghiên cứu đoạn code trên thử xem, xem có gì khác biệt với cách mà bro tạo CSDL từ Cpanel xem, rồi tự đặt câu hỏi và tìm ra câu trả lời luôn :cry: Ví dụ như nếu không thêm đoạn này IDENTIFIED BY thì database của tui có bị sao hông và tùm lum câu hỏi, tự hỏi và tự ... tìm kiếm câu trả lời . Nếu không được thì pó tay , he he
Cảm ơn anh GA, có tuyệt chiêu nào nữa thì nhớ chỉ em nha
Thanhks anh nhiều. |
|
|
|
|
[Question] Re: Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
19/09/2006 22:24:05 (+0700) | #14 | 24360 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Defender wrote:
Cảm ơn anh GA, có tuyệt chiêu nào nữa thì nhớ chỉ em nha
Thanhks anh nhiều.
Hì hì, chiêu thì nhiều nhưng tuỳ hoàn cảnh. Ví dụ em phải host chung web/app/database trên cùng server (như dạng dedicated server mình mua ở hosting nào đó) thì cần để ý các điểm sau:
1) nếu web application của mình có khả năng dùng unix domain socket thì nên dùng nó và chỉnh database service chỉ cung cấp unix domain socket thay vì tcp socket. Cách này sẽ loại bỏ trường hợp ai đó connect thẳng vào cổng của database service và máy mó (nếu như access control lơ tơ mơ thì mệt với nó).
2) nếu web application chỉ có thể dùng tcp socket thì chỉnh cho database service listen trên loopback IP (127.0.0.1) mà thôi. Chỉnh cho web app connect cụ thể đến 127.0.0.1:<cổng dịch vụ của database>. Cái này ngăn chặn truy cập trực tiếp đến cổng của database service từ ngoài vào vì từ ngoài vào không thể truy cập đến 127.0.0.1 được.
3) nếu có firewall bảo vệ, set rule để cản một cách cụ thể mọi truy cập đến cổng của database service từ bên ngoài.
4) để có thể truy cập đến database từ xa (từ nhà chẳng hạn), dùng ssh tunnel. Tạo ssh tunnel đến cổng dịch vụ của database thế nào là chuyện khác.
Những điểm ở trên nhằm loại bỏ trường hợp trực tiếp truy cập đến cổng dịch vụ của database.
Trên bình diện thiết kế web application, tránh tuyệt đối những truy vấn trực tiếp đến database từ web application. Nên nghiên cứu và ứng dụng khái niệm "abstract layer" cho việc truy vấn dữ liệu từ web application đến database. Lý do: có thể ứng dụng trực tiếp data validation trên "abstract layer" này. Những truy vấn bất hợp lệ sẽ bị loại bỏ (bởi thế sql injection trở nên khó thực hiện). Ngoài ra "abstract layer" còn đóng những vai trò quan trọng khác trong vấn đề bảo trì, gia tăng hiệu suất, khả năng mở rộng... ngoài bình diện bảo mật.
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
20/09/2006 05:45:04 (+0700) | #15 | 24456 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
20/09/2006 13:49:46 (+0700) | #16 | 24530 |
subnetwork
Member
|
0 |
|
|
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
|
|
Tôi lấy ví dụ :
# mysql –u ga –p
Enter password :
mysql > grant Select, Insert, Update, Delete, Index, Alter, Create, Drop
On *.* TO ‘phuoctran’ @ ‘%’
IDENTIFIED BY ‘thp’
Nhìn ở câu lệnh này bro hiểu gì hông ?
Tạo ra một người dùng mang tên là phuoctran có mật khẩu là thp
Trong Mysql có tất cả 8 quyền trên cơ sở dữ liệu bao gồm : Select, Insert, Update, Delete, Index, Alter, Create, Drop
Mổi quyền thực thi nhiệm vụ khác nhau trên cơ sỡ dữ liệu .
Gán = Grant , Xóa = Revoke
Bro nên tìm hiểu vấn đề này trước khi đi vào vấn đề mà bro conmale nêu trên .
Thân |
|
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com |
|
|
|
[Question] Re: Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
21/09/2006 21:20:07 (+0700) | #17 | 24774 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Em đã học bài rồi đây:
The mysql Database
By default, the mysql database includes 15 tables. The following table provides a brief description of the
data included in each table.
columns_priv
Contains access-control data for individual columns
within a specified table.
db
Contains access-control data that defines the type of
privileges a user is granted on a specified database.
func
Contains data about user-defined functions that have
been added to MySQL.
help_category, help_keyword, help_relation, help_topic
Contains data related to the MySQL help system. There are four help-related tables in all.
host
Contains access-control data that defines the type of
privileges a host is granted on a specified database.
tables_priv
Contains access-control data for individual tables in
a specified database.
time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type
Contains data related to time-zone functionality in MySQL. There are five tables related to time-zone functionality.
user
Contains access-control data that defines which users can connect to the MySQL server, from which computers those users can access MySQL, and the type of global privileges that the users have in order to access MySQL and its databases.
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
21/09/2006 21:29:15 (+0700) | #18 | 24777 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Golden Autumn wrote:
Trong Mysql có tất cả 8 quyền trên cơ sở dữ liệu bao gồm : Select, Insert, Update, Delete, Index, Alter, Create, Drop
Bro nên tìm hiểu vấn đề này trước khi đi vào vấn đề mà bro conmale nêu trên .
Thân
Chi tiết của cái này:
The Grant Tables
A grant table is any one of the tables in the mysql database that are used to control access to MySQL and
the MySQL databases. By default, MySQL creates the following five grant tables:
❑ columns_priv
❑ db
❑ host
❑ tables_priv
❑ user
The grant tables define which users can access MySQL, from which computers that access is supported, what actions those users can perform, and on which objects those actions can be performed. For example, the grant tables allow you to specify which users can view data in a particular database and which users can actually update that data.
The actions that users are permitted to take and the data that they are permitted to access are controlled through a set of privileges. The following table lists each of the privileges available in MySQL and the
actions that they permit a user to take.
Select_priv: Query data in a database.
Insert_priv: Insert data into a database.
Update_priv: Update data in a database.
Delete_priv: Delete data from a database.
Create_priv: Create a table in a database.
Drop_priv: Remove a table from a database.
Reload_priv: Reload the data in the grant tables into MySQL.
Shutdown_priv: Shut down the MySQL server.
Process_priv: View a list of MySQL processes.
File_priv: Export data from a database into a file.
Grant_priv: Grant privileges on database objects.
References_priv: Functionality not yet supported, but the intention of this privilege appears to be to allow a user to configure foreign key constraints.
Index_priv: Create and delete indexes in a database.
Alter_priv: Alter database objects.
Show_db_priv: View all databases.
Super_priv: Perform advanced administrative tasks.
Create_tmp_table_priv: Create temporary tables.
Lock_tables_priv: Place locks on tables.
Execute_priv: Run a stored procedure. Functionality will not be supported until. MySQL version 5.0.
Repl_slave_priv: Read binary logs for a replication master.
Repl_client_priv: Request information about slave and master servers used for replication.
Table_priv: Access a specified table in a database.
Column_priv: Access a specified column in a table in a database.
(em post bằng tiếng Anh là vì em hiểu nhưng dịch sát nghĩa hơi khó và mất thời gian.)
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
22/09/2006 09:07:59 (+0700) | #19 | 24943 |
|
hakuso
HVA Friend
|
Joined: 04/01/2004 13:28:06
Messages: 287
Location: làng Đo Đo
Offline
|
|
Thiết kế CSDL là nghề khó vì nó đòi hỏi phải nằm thật chắc nghiệp vụ của khách hàng và có óc tư duy lẫn toán học tốt. Nó còn có cái tên mỹ miều nhưng trải rộng ra là "hệ thống thông tin".
Nếu bạn đã master thì design 1 cái database, deploy và document lại cấu trúc nó thì bỏ túi vài chục triệu là chuyện thường )
Chúc bạn thành công ) |
|
Live, fight, work and study |
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
22/09/2006 14:11:30 (+0700) | #20 | 24994 |
subnetwork
Member
|
0 |
|
|
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
|
|
Defender wrote:
Golden Autumn wrote:
Trong Mysql có tất cả 8 quyền trên cơ sở dữ liệu bao gồm : Select, Insert, Update, Delete, Index, Alter, Create, Drop
Bro nên tìm hiểu vấn đề này trước khi đi vào vấn đề mà bro conmale nêu trên .
Thân
Chi tiết của cái này:
The Grant Tables
A grant table is any one of the tables in the mysql database that are used to control access to MySQL and
the MySQL databases. By default, MySQL creates the following five grant tables:
❑ columns_priv
❑ db
❑ host
❑ tables_priv
❑ user
The grant tables define which users can access MySQL, from which computers that access is supported, what actions those users can perform, and on which objects those actions can be performed. For example, the grant tables allow you to specify which users can view data in a particular database and which users can actually update that data.
The actions that users are permitted to take and the data that they are permitted to access are controlled through a set of privileges. The following table lists each of the privileges available in MySQL and the
actions that they permit a user to take.
Select_priv: Query data in a database.
Insert_priv: Insert data into a database.
Update_priv: Update data in a database.
Delete_priv: Delete data from a database.
Create_priv: Create a table in a database.
Drop_priv: Remove a table from a database.
Reload_priv: Reload the data in the grant tables into MySQL.
Shutdown_priv: Shut down the MySQL server.
Process_priv: View a list of MySQL processes.
File_priv: Export data from a database into a file.
Grant_priv: Grant privileges on database objects.
References_priv: Functionality not yet supported, but the intention of this privilege appears to be to allow a user to configure foreign key constraints.
Index_priv: Create and delete indexes in a database.
Alter_priv: Alter database objects.
Show_db_priv: View all databases.
Super_priv: Perform advanced administrative tasks.
Create_tmp_table_priv: Create temporary tables.
Lock_tables_priv: Place locks on tables.
Execute_priv: Run a stored procedure. Functionality will not be supported until. MySQL version 5.0.
Repl_slave_priv: Read binary logs for a replication master.
Repl_client_priv: Request information about slave and master servers used for replication.
Table_priv: Access a specified table in a database.
Column_priv: Access a specified column in a table in a database.
(em post bằng tiếng Anh là vì em hiểu nhưng dịch sát nghĩa hơi khó và mất thời gian.)
Thật ra khi pro gán quyền ALL Privileges thì bro đã có 8 quyền kia rồi, các quyền còn lại như SHUTDOWN, FILE , PROCESS , RELOAD thì nó không có . Tại sao nó không có nhĩ :cry:
Thân |
|
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com |
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
22/09/2006 16:54:33 (+0700) | #21 | 24996 |
nbthanh
HVA Friend
|
Joined: 21/12/2001 14:51:51
Messages: 429
Offline
|
|
Bạn nên phân biệt rạch ròi giữa 2 công việc:
- Xây dựng 1 Database Server: Phần việc này thuộc về trách nhiệm của 1 admin (DB Admin, IT Admin, v.v...). Bảo mật là tiêu chí hàng đầu khi xây dựng 1 Database Server, tiếp theo đó là công tác bảo trì và "tuning".
- Thiết kế cấu trúc CSDL cho 1 ứng dụng: Phần việc này người quản lý project, team leader hoặc developer có thể đảm nhiệm tuỳ thuộc vào qui mô của ứng dụng. Tính hiệu quả là tiêu chí hàng đầu khi thiết kế cấu trúc CSDL cho 1 ứng dụng.
Bạn phải xác định được phần việc của bạn nằm ở đâu trước khi bắt tay vào công việc.
Nếu bạn định xây dựng 1 Database Server, đối với 1 hệ CSDL cụ thể, các tài liệu hầu như đã có đủ và rõ ràng, chỉ cần bạn chịu khó đọc, và thêm 1 chút kinh nghiệm là có thể đảm đương được.
Nếu bạn định thiết kế 1 cấu trúc CSDL cho 1 ứng dụng nào đó thì đầu tiên bạn phải được đào tạo từ căn bản (các môn học về CSDL ở trường ĐH là 1 khởi điểm tốt), và bên cạnh đó bạn phải có một lượng kinh nghiệm dồi dào.
Ứng dụng càng lớn thì bạn càng cần phải có nhiều kinh nghiệm và đào tạo bài bản. Bởi vì không thể có 1 công thức chung vạn năng nào để bạn tạo 1 CSDL mà dùng được cho toàn bộ các ứng dụng một cách hiệu quả. Mỗi ứng dụng cần có 1 CSDL riêng thích hợp với nó. |
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
23/09/2006 03:31:48 (+0700) | #22 | 25102 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
Golden Autumn wrote:
Thật ra khi pro gán quyền ALL Privileges thì bro đã có 8 quyền kia rồi, các quyền còn lại như SHUTDOWN, FILE , PROCESS , RELOAD thì nó không có . Tại sao nó không có nhĩ :cry:
Thân
Hì, vì khi cài My SQL thì chỉ có Root mới được cấp các quyền " SHUTDOWN, FILE , PROCESS , RELOAD ".
|
|
|
|
|
[Question] Cần được hướng dẫn về cách xây dựng 1 CSDL tốt bắng My SQL. |
23/09/2006 03:44:03 (+0700) | #23 | 25110 |
Defender
Locked
|
Joined: 03/07/2006 11:27:43
Messages: 624
Offline
|
|
nbthanh wrote:
Bạn nên phân biệt rạch ròi giữa 2 công việc:
- Xây dựng 1 Database Server: Phần việc này thuộc về trách nhiệm của 1 admin (DB Admin, IT Admin, v.v...). Bảo mật là tiêu chí hàng đầu khi xây dựng 1 Database Server, tiếp theo đó là công tác bảo trì và "tuning".
- Thiết kế cấu trúc CSDL cho 1 ứng dụng: Phần việc này người quản lý project, team leader hoặc developer có thể đảm nhiệm tuỳ thuộc vào qui mô của ứng dụng. Tính hiệu quả là tiêu chí hàng đầu khi thiết kế cấu trúc CSDL cho 1 ứng dụng.
Bạn phải xác định được phần việc của bạn nằm ở đâu trước khi bắt tay vào công việc.
Em làm cả hai công việc này.
nbthanh wrote:
Nếu bạn định xây dựng 1 Database Server, đối với 1 hệ CSDL cụ thể, các tài liệu hầu như đã có đủ và rõ ràng, chỉ cần bạn chịu khó đọc, và thêm 1 chút kinh nghiệm là có thể đảm đương được.
Nếu bạn định thiết kế 1 cấu trúc CSDL cho 1 ứng dụng nào đó thì đầu tiên bạn phải được đào tạo từ căn bản (các môn học về CSDL ở trường ĐH là 1 khởi điểm tốt), và bên cạnh đó bạn phải có một lượng kinh nghiệm dồi dào.
Ứng dụng càng lớn thì bạn càng cần phải có nhiều kinh nghiệm và đào tạo bài bản. Bởi vì không thể có 1 công thức chung vạn năng nào để bạn tạo 1 CSDL mà dùng được cho toàn bộ các ứng dụng một cách hiệu quả. Mỗi ứng dụng cần có 1 CSDL riêng thích hợp với nó.
Em mới vừa tốt nghiệp đại học Tin Học.
Còn kinh nghiệm thì... hằng ngày em vẫn đọc ebook, thực hành, chui vô Forum để chờ xem các anh hé ra tuyệt chiêu nào là em chớp liền.
Cảm ơn anh nbthanh đã quan tâm và dạy bảo. |
|
|
|
|
|