MySQL là gì?
Đầu tiên, hãy phát âm đúng. Nhiều người đọc nó là “my sequel” hoặc khác, nhưng phát âm chính thức là là: MY-ES-KYOO-EL’ [maɪˌɛsˌkjuːˈɛl]. Công ty Thuy Điển MySQL AB phát triển MySQL vào năm 1994. Công ty công nghệ Mỹ Sun Microsystem sau đó giữ quyền sở hữu MySQL sau khi mua lại MySQL vào năm 2008. Năm 2010, gã khổng lồ Oracle mua Sun Microsystems và MySQL thuộc quyền sở hữu của Oracle từ đó.
Quay lại với khái niệm chính, MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server. RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng.
MySQL là một trong số các phần mềm RDBMS. RDBMS và MySQL thường được cho là một vì độ phổ biến quá lớn của MySQL. Các ứng dụng web lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng MySQL cho mục đích lưu trữ dữ liệu. Kể cả khi ban đầu nó chỉ được dùng rất hạn chế nhưng giờ nó đã tương thích với nhiều hạ tầng máy tính quan trọng như Linux, macOS, Microsoft Windows, và Ubuntu.
Tới đây bạn đã thấy chúng tôi dùng khá nhiều thuật ngữ, hãy để chúng tôi giải thích các thuật ngữ đó cho bạn nhé:
Database
Database là tập hợp dữ liệu theo cùng một cấu trúc. Hãy thử nghĩ về việc chụp hình tự sướng: bạn nhấn nút chụp ảnh về chính bản thân bạn. Hình ảnh là dữ liệu, thư viện lưu ảnh là cơ sở dữ liệu. Cơ sở dữ liệu, hay database, là nơi chứa và sắp đặt dữ liệu. Dữ liệu được đặt trong một bộ dữ liệu chung, dataset, được tổ chức sắp xếp giống như một bảng tính vậy. Mỗi “bảng” này có liên hệ với nhau theo cách nào đó. Vì vậy từ Relational (liên hệ) trong RDBMS có ý nghĩa như vậy. Nếu phần mềm không hỗ trợ mô hình dữ liệu quan hệ với nhau như vậy thì gọi là DBMS.
Open source
Open source dịch là mã nguồn mở, có nghĩa là ai cũng có thể dùng và chỉnh sửa nó. Bất kỳ ai cũng có thể cài đặt phần mềmn ày. Bạn cũng có thể học cách tùy chỉnh phần mềm theo nhu cầu của bạn. Tuy nhiên, giấy phép GPL (GNU Public License) quyết định bạn có thể làm gì tùy vào điều kiện nhất định. Phiên bản thương mại cũng được xuất bản nếu bạn cần thêm chủ quyền linh hoạt và hỗ trợ cao cấp.
Mô hình Client-server
Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client (máy khách). Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server) RDBMS. Cách thức này chính là mô hình “client-server”.
MySQL Server
MySQL Server là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó, để máy khách có thể truy cập vào quản lý. Dữ liệu này được đặt trong các bảng, và các bảng có mối liên hệ với nhau. MySQL server nhanh, an toàn, đáng tin cậy. Phần mềm MySQL cũng miễn phí và được phát triển, phân phối và hỗ trợ bởi Oracle Corporation.
MySQL Client
MySQL client không hẵn phải cài phần mềm MySQL của Oracle mà là nói chung của mọi phần mềm có thể thực hiện truy vấn lên một MySQL server và nhận kết quả trả về. MySQL client điển hình là đoạn mã PHP script trên một máy tính hay trên cùng server dùng để kết nối tới cơ sở dữ liệu MySQL database. Phpmyadmin cũng là một MySQL client có giao diện người dùng. Một số công cụ miễn phí dùng làm MySQL là:
- MySQL Workbench(Mac, Windows, Linux), Miễn phí, mã nguồn mở
- Sequel Pro(Mac), miễn phí, mã nguồn mở
- HeidiSQL(Windows; chạy trên Mac hoặc Linux bằng WINE emulator), miễn phí
- phpMyAdmin(web app), miễn phí, mã nguồn mở
SQL
MySQL và SQL không giống nhau. Hãy nhớ, MySQL là một trong các phần mềm RDBMS, hoạt động theo mô hình client-server. Nhưng, làm thế nào clietn và server liên lạc với nhau trong môi trường của RDBMS? Chúng sử dụng ngôn ngữ truy vấn có cấu trúc chung – Structured Query Language (SQL). Nếu bắt gặp một thương hiệu nào đó có SQL kèm theo, như PostgreSQL, Microsoft SQL server, chúng thường là những thương hiệu sử dụng syntax của SQL. RDBMS software lại được viết bằng ngôn ngữ lập trình, nhưng luôn sử dụng SQL làm ngôn ngữ chính để tương tác với database. Bản thân MySQL được viết bằng C và C++. Hãy tưởng tượng các nước Nam Mỹ, chúng có vị trí địa lý và lịch sử khác nhau, nhưng đều nói tiếng Tây Ban Nha.
Nhà khoa học máy tính Ted Codd tạo ra SQL vào đầu thập niên 1970s với IBM theo mô hình liên hệ. Nó được sử dụng rộng khắp vào năm 1974 và nhanh chóng thay thế các ngôn ngữ lỗi thời khác như ISAM và VISAM. SQL nói server phải làm gì với dữ liệu. Giống khi bạn nhập mật khẩu để đăng nhập vào trang quản lý của WordPress, trong trường hợp này, lệnh SQL sẽ nói cho server biết cần phải thực hiện một số hành động:
- Truy vấn dữ liệu – data query: yêu cầu một thông tin cụ thể trong database có sẵn.
- Điều hành dữ liệu – data manipulation: thêm, xóa, sửa, sắp xếp, và các tác vụ điều hành khác để chỉnh sửa dữ liệu, giá trị, và cách hiển thị.
- Loại dữ liệu – data identity: định nghĩa loại dữ liệu, như là đổi từ dữ liệu số thành số nguyên. Nó cũng bao gồm định nghĩa một schema hoặc định nghĩa mối quan hệ của từng bảng trong cơ sở dữ liệu
- Quyền truy cập data – data access control: cung cấp biện pháp bảo mật để bảo vệ dữ liệu, bao gồm việc quyết định ai có thể xem thông tin dữ liệu nào trong database
Bạn có đang cần một giải pháp hosting tốt không? Chúng tôi có sẵn mã khuyến mãi Hostinger ngay đây để bạn có thể mua được một hosting chất lượng cao với giá thấp nhất trên thị trường.
Lịch sử hình thành và phát triển của MySQL
Quá trình hình thành và phát triển của MySQL được tóm tắt như sau:
- Công ty Thuy Điển MySQL ABphát triển MySQLvào năm 1994.
- Phiên bản đầu tiên của MySQLphát hành năm 1995
- Công tySun Microsystemsmua lạiMySQL ABtrong năm 2008
- Năm 2010 tập đoànOraclethâu tóm Sun Microsystems. Ngay lúc đó, đội ngũ phát triển của MySQL tách MySQL ra thành 1 nhánh riêng gọi làMariaDB. Oracle tiếp tục phát triển MySQL lên phiên bản 5.5.
- 2013MySQLphát hành phiên bản 5.6
- 2015MySQLphát hành phiên bản 5.7
- MySQLđang được phát triển lên phiên bản 8.0
MySQLhiện nay có 2 phiên bản miễn phí (MySQL Community Server) và có phí (Enterprise Server).
Ưu điểm và nhược điểm của MySQL
MySQL có khá nhiều những ưu điểm riêng. Tuy nhiên, song song với đó, nó vẫn còn tồn tại một số những nhược điểm. Hãy cùng tìm hiểu chi tiết về ưu nhược điểm của MySQL
Ưu điểm của MySQL là gì?
- Dễ sử dụng:MySQLlà cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
- Độbảo mật cao: MySQLrất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.
- Đa tính năng:MySQLhỗ trợ rất nhiềuchức năng SQLđược mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
- Khả năng mở rộng và mạnh mẽ:MySQLcó thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết.
- Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
Nhược điểm của MySQL là gì?
- Giới hạn: Theo thiết kế,MySQLkhông có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần.
- Độ tin cậy: Cách các chức năng cụ thể được xử lý vớiMySQL(ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.
- Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặctạo cache MySQL
Phân biệt MySQL và SQL Server
Trước khi điểm qua một số sự khác biệt giữa MySQL và SQL Server. Hãy cùng tìm hiểu chi tiết về khái niệm SQL Server:
SQL Server là gì?
Được biết đến với tên gọi khác làMicrosoft SQL Server,SQL Serverđược Microsoft phát triển từ giữa thập niên 80s nhằm cung cấp giải pháp đáng tin cậy và mở rộng. Điều này trở thành đặc tính đáng giá củaSQL Server. Điểm mạnh củaSQL Serverlà Microsoft có khá nhiền nền tảng kết hợp hoàn hảo với SQL Server như ASP.NET, C# xây dựng Winform.
Sự khác biệt giữa MySQL và SQL Server là gì?
Tiêu chí | MySQL | SQL Server |
Môi trường | MySQL có thể kết hợp với mọi ngôn ngữ lập trình khác, thông thường là PHP | SQL Server hoạt động tốt với .NET |
Syntax |
· SELECT age · FROM person · ORDER BY age ASC LIMIT 1 OFFSET 2
|
· SELECT TOP 3 WITH TIES * · FROM person ORDER BY age ASC
|
Bản chất | Là một phần mềm mã nguồn mở, chạy trên hơn 20 nền tảng bao gồm Linux, Windows, OS / X, HP-UX, AIX, Netware. | Là một phần mềm độc quyền được Microsoft đã xây dựng nhiều công cụ mạnh mẽ cho SQL Server, bao gồm các công cụ phân tích dữ liệu. |
Storage engines | Nhiều loại engines được tạo ra cho MySQL. Điều này giúp lập trình viên MySQL linh hoạt dùng nhiều storage engine khác nhau cho bảng.
| SQL server sử dụng một storage engine riêng được phát triển bởi Microsoft |
Hủy Query | MySQL không cho phép bạn hủy query giữa chừng | SQL Server lại cho phép bạn hủy query giữa chừng |
Bảo mật | Các chuyên gia về cơ sở dữ liệu giúp MySQL có tính năng bảo mật đặc biệt để dữ liệu được bảo mật tuyệt đối. | Công cụ bảo mật riêng – Microsoft Baseline Security Analyzer giúp tăng tính bảo mật cho SQL Server một cách triệt để |
Chi phí | Miễn phí | Trả phí |
IDEs | Dùng Enterprise Manager của Oracle | Dùng Management Studio (SSMS) |
Tại sao nên dùng MySQL?
Vì sao khimua hosting, bạn nhận ra rất nhiều “ông lớn công nghệ” nhưcPanel,DirectAdminhayWordPressphụ thuộc vàoMySQL? Dưới đây là những lí do quan trọng nhất.
- MySQLlà CSDL có tốc độ khá cao, ổn định và khá dễ sử dụng có thể hoạt động được trên khá nhiều hệ điều hành.
- Tính bảo mật mạnh và sử dụng được trên nhiều ứng dụng màMySQLcòn hoàn toàn được sử dụng miễn phí.
- MySQLkhông chỉ dừng lại ở bổ trợ choPHPvàPerl, mà nó còn bổ trợ cho nhiều ngôn ngữ khác, Nó là nơi để lưu trữ thông tin trên các trang web được viết bằngPerlhoặcPHP.
Thuật ngữ thường gặp của MySQL
Khái niệm MySQL tồn tại khá nhiều những thuật ngữ. Hãy cùng Mắt Bão tìm hiểu sơ qua về một số thuật ngữ cơ bản sau:
- MySQL – Database
- Open source
- Mô hình Client-server
- MySQL Server
- MySQL Client
Thuật ngữ MySQL – Database là gì?
Databaselà tập hợp dữ liệu theo cùng một cấu trúc được đặt trong mộtbộ dữ liệu chung dataset.Databaseđược tổ chức sắp xếp giống như một bảng tính có sự liên kết chặt chẽ với nhau.
Open source
Được hiểu làmã nguồn mở, Open source cho phép mọi người dùng sử dụng, cài đặt và tùy chỉnh nó. Bạn nên tham khảo thêm về “Source Code là gì?” Để có hiểu hơn vềmã nguồn mở(Open Source).
Mô hình Client-server
Máy tính cài đặt và chạyphần mềm RDBMSđược gọi làclient(máy khách). Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tớimáy chủ(server) RDBMS. Cách thức này chính làmô hình client-server.
MySQL Server là gì?
MySQL Serverlà gì? Đây là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó để máy khách có thể truy cập vào quản lý.
MySQL Client là gì?
MYSQL Clientlà tên gọi chung của mọi phần mềm có thể thực hiện truy vấn MySQL server và nhận kết quả trả về. Hay nói cách khác, MySQL Client là đoạn mã PHP script trên một máy tính hay trên cùng server dùng để kết nối tới MySQL database
MySQL hoạt động như thế nào?
Hình ảnh trên giải thích cấu trúc cơ bản về việc giao tiếp giữa client-server model. Một máy client sẽ liên lạc với máy server trong một mạng nhất định. Mỗi client có thể gửi một request từ giao diện người dùng (Graphical user interface – GUI) trên màn hình, và server sẽ trả về kết quả như mong muốn. Miễn là cả hai hiểu nhau. Cách vận hành chính trong môi trường MySQL cũng như vậy:
- MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó.
- Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL.
- Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.
Có vậy thôi đó. Từ máy client, việc chọn GUI MySQL khá quan trọng. GUI càng nhẹ chừng nào, thì các thao tác quản lý data sẽ càng dễ dàng và nhanh chừng đó. MySQL GUI phổ biến nhất MySQL WorkBench, SequelPro, DBVisualizer, và Navicat DB Admin Tool. Một vài trong số chúng miễn phí, một vài bản thương mại, một vài bản chỉ chạy được trên macOS, và một vài ứng dụng chạy được hết trên các hệ điều hành phổ biến. Clients nên chọn GUI tùy vào nhu cầu của họ. Để quản lý web database, ví dụ như một trang web WordPress, rõ ràng nên chọn phpMyAdmin.
Vì sao MySQL lại phổ biến đến vậy?
MySQL không phải là hệ quản lý cơ sở dữ liệu (RDBMS) duy nhất trên thị trường, nhưng nó đích thực phổ biến nhất và chỉ xếp sau Oracle Database khi xét đến những thông số chính như số lượng tìm kiếm, profile người dùng trên LinkedIn, và lượng thảo luận trên các diễn đàn internet. Lý do chính vì sao rất nhiều ông lớn công nghệ phụ thuộc vào MySQL là gì? Các lý do quan trọng như sau:
Linh hoạt và dễ dùng
Bạn có thể sửa source code để đáp ứng nhu cầu của bạn mà không phải thanh toán têm bất kỳ chi phí nào. Quá trình cài đặt cũng rất đơn giản và thường không quá 30 phút.
Hiệu năng cao
Nhiều server clusters sử dụng MySQL. Bất kể bạn lưu trữ dữ liệu lớn của các trang thương mại điện tử hoặc những hoạt động kinh doanh nặng nề liên quan đến công nghệ thông tin, MySQL cũng có thể đáp ứng được với tốc độ cao, mượt mà.
Tiêu chuẩn trong ngành
Ngành công nghệ và dữ liệu đã sử dụng MySQL nhiều năm, vì vậy nó là một kỹ năng căn bản một chuyên gia lập trình. Người dùng MySQL cũng có thể triển khai dự án nhanh và thuê các chuyên gia dữ liệu với mức phí nếu họ cần.
An toàn
An toàn dữ liệu luôn là vấn đề quan trọng nhất khi chọn phần mềm RDBMS. Với hệ thống phân quyền truy cập và quản lý tài khoản, MySQL đặt tiêu chuẩn bảo mật rất cao. Mã hóa thông tin đăng nhập và chứng thực từ host đều khả dụng.
Bạn vẫn còn cần giải thích thêm về các định nghĩa hay mysql là gì? Đừng ngại cứ để lại bình luận bên dưới chúng tôi sẽ trả lời ngay. Hoặc tự khám phá thêm bằng cách cài đặt MySQL ngay trên Hostinger.
Những câu hỏi thường gặp về MySQL
MariaDB là gì?
MariaDBlà phiên bản mã nguồn mở hoàn toàn miễn phí được phát triển phi lợi nhuận và cung cấp cho cộng đồng bởi chính những nhà phát triển MySQL. Phần mềm MariaDB ra đời do lo ngại khi thâu tóm MySQL, Oracle Corporation sẽ không còn phát hành MySQL miễn phí cho người dùng nữa.
Có cần thiết phải sử dụng phpMyAdmin hay không?
Câu trả lời sẽ tùy thuộc vào bạn. Nếu bạn muốn làm việc với MySQL, MariaDB dễ dàng hơn. phpMyAdmin sẽ là một lựa chọn phù hợp với giao diện đồ hoạ thân thiện, dễ sử dụng và phù hợp với những người mới làm quen.
Nên sử dụng MySQL hay MariaDB cho WordPress?
Về thực tế, bạn có thể sử dụng MySQL hay MariaDB tùy thích. Vì MariaDB là một phiên bản nhánh hoàn toàn miễn phí của MySQL. Nên trong trường hợp bạn không muốn gặp rắc rối về bản quyền bị thay đổi bất ngờ do Oracle, bạn có thể sử dụng MariaDB cho website WordPress của mình.
Hướng dẫn cài đặt MySQL Server trên Windows
Bạn nên lựa chọnhệ điều hành Windowskhithuê máy chủ, bởi trên Windows,Server của bạn sẽ được tối ưu tốt nhất. Đối vớiWindows Server 2012vàWindows Server 2016bạn nên xem thêm bài viết “Hướng dẫn cài đặt MySQL 5.7” để được hướng dẫn cụ thể hơn.
Bước 1:Tải MySQL
Sau khi tảiMySQL Cummunity(bản miễn phí) về bạn sẽ có đủ 3 file như sau:
- Microsoft .NET Framework 4 Client Profile
- Visual C++ Redistributable for Visual Studio 2013
- MySQL
Bước 2: Cài đặt MySQL
Đầu tiên bạn cần cài đặt Microsoft .NET Framework 4 Client Profile, Visual C++ Redistributable for Visual Studio 2013 trước sau đó cài đặt đến file MySQL.
Các bước cài đặtMySQL Servernhư sau:
- Mở file cài đặt —>Accept—>Next
- ChọnFullđể cài đặt tất cả, bao gồm cả Database —>Next
- Ở bước này bạn sẽ thấy tất cả các gói được cài đặt. ChọnExecuteChọnNext
- Tiếp theo chúng ta sẽ đến phần cấu hình choMySQL Server. ChọnNext
- Lựa chọn
- Config Type: Development Machine
- Connectivity: Click chọnTCP/IP—>Open Firewall
- Sau đó clickNext
- TạiAccounts and Rolesbạn điền mật khẩu của mình vào, sau đó chọnNext
- Mặc địnhUser là root, bạn điền mật khẩu đã thiết lập bên trên vào đểcheckvà kết nối vớiMySQL server.
- Chờ đợi hoàn tất, chọnFinish.
Cách cài đặt MySQL cho Server/VPS bất kỳ
Hiển nhiên, sẽ có nhiều hệ điều hành cho server/vps khác ngoàiWindows. Dưới đây sẽ hướng dẫn bạncài đặt MySQL trên CentOS, vàphần mềm tích hợp sẵn MySQL XAMPP.
Cài đặt MySQL cho CentOS
Để tiến hànhcài đặt MySQLtrên các server này yêu cầu bạn có trình độ chuyên môn sâu. Công việc cài đặt của bạn sẽ bao gồm:
- Cài đặt Apache2
- Cài đặt MySQL
- Cài đặt, kiểm tra PHP và MySQL hỗ trợ cho PHP
Bạn nên tham khảo bài viết: “Cài đặt Apache2 – MySQL – PHP cho CentOS 7” để có hướng dẫn chi tiết cài đặtMySQLlênCentOS.
Cài đặt LAMP/XAMPP đã tích hợp sẵn MySQL
Xampplà chương trìnhtạo máy chủ Webđượctích hợp sẵn Apache,PHP,MySQL,FTP Server,Mail Servervà các công cụ nhưphpMyAdmin. Nó phân bốApachenhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ramáy chủ web localđể kiểm tra và triển khai trang web của mình. Không nhưAppserv,Xamppcó chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào.
Nguồn bài viết: Tổng hợp và cập nhật từ các nguồn Website uy tín trên Google
- //wiki.tino.org/mysql-la-gi/#ftoc-heading-11
- //wiki.matbao.net/mysql-la-gi-huong-dan-toan-tap-ve-mysql/#huong-dan-cai-dat-mysql-server-tren-windows
- //www.hostinger.vn/huong-dan/mysql-la-gi/