Để bắt đầu làm quen và học quản lý cơ sở dữ liệu với ngôn ngữ SQL thì chúng ta cần có một database và một ứng dụng quản lý database. Có nhiều loại database nổi tiếng nhưng để bắt đầu học thì sử dụng Microsoft SQL Server là dễ tiếp cận nhất. Tuy không được hỗ trợ nhiều như Windows nhưng Mac vẫn có nhiều ứng dụng thay thế rất xịn xò để cài SQL Server trên Mac và quản lý database trên Mac, đó là Docker và Azure. Bây giờ hãy cùng Lucid Gen cài đặt nhé.
Máy ảo | SQL Server |
Tương thích | ARM và Intel |
Ứng dụng yêu cầu | Docker, Azure Data Studio |
Giá | Miễn phí |
Cài đặt SQL Server trên Mac bằng Docker
Để tạo một SQL Server ngay trên Mac thì công cụ được nhiều người giới thiệu nhất là Docker. Bạn hãy làm lần lượt theo thứ tự của hướng dẫn là được. Trước hết bạn cần kiểm tra xem Mac của bạn là chip Intel hay Apple M1 nhé.

Mac chip Apple M1
Theo thông tin từ trang hướng dẫn của Docker, nếu bạn đang sử dụng Mac chip Apple M1 thì bạn cần cài đặt Rosetta 2 vì một số mã nhị phân của ứng dụng này vẫn là Darwin / AMD64.
Bạn bấm mở ứng dụng Terminal có sẵn trên Mac (dùng Command Space để tìm Terminal) > dán dòng code bên dưới rồi Enter > nhập A để đồng ý điều khoản.
softwareupdate --install-rosetta

Tải và cài đặt Docker
Bước 1: Bạn nhấp vào nút bên dưới để tải Docker cho Mac, hãy chọn đúng phiên bản dành cho Mac của bạn nhé.
Bước 2: Bạn mở file cài đặt Docker lên > kéo thả icon Docker vào thư mục Applications (Ứng dụng).

Bước 3: Bạn mở Docker lên > vào Cài dặt > Resources > tăng Memory lên khoảng 4GB. Thông số này không ít cũng không nhiều, phù hợp cho một SQL Server đơn giản.

Tạm thời bạn ẩn Docker xuống và chúng ta tiến hành cài đặt SQL Server theo hướng dẫn bên dưới.
Khởi tạo SQL Server (Azure SQL Edge)
Bước 1: Bạn mở Terminal > dán đoạn code dưới dây và Enter > nhập mật khẩu mở máy (trong lúc nhập nó sẽ không hiển thị gì cả, cứ nhập đúng là được) và Enter.
sudo docker pull mcr.microsoft.com/azure-sql-edge:latest

Bước 2: Bạn tiếp tục dán đoạn code bên dưới vào Terminal và Enter >nhập mật khẩu mở máy và Enter.
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=Password.1' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
Bạn có thể thay Password.1 thành mật khẩu khác mà bạn muốn.
Lưu ý: Mật khẩu của SQL Server yêu cầu như sau:
– Ít nhất 8 ký tự.
– Có chữ thường, chữ in, số, và ký tự đặc biệt.

Trong trường hợp bạn muốn đổi mật khẩu sau khi đã tạo SQL Server thì bạn dùng lệnh này trong Terminal.
sudo docker exec -it azuresqledge /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P "<Old_Password>" \
-Q 'ALTER LOGIN SA WITH PASSWORD="<New_Password>"'
Bước 3: Bạn mở Docker > Containers / Apps > đảm bảo rằng có SQL Server tên là azuresqledge đang chạy là được, trang thái của nó sẽ là RUNNING. Nếu nó đang tắt thì bạn nhấp vào icon play để nó chạy.
Bạn có thể tạm dừng, restart, xóa SQL Server ngay trong giao diện của Docker.

Như vậy là bạn đã có một SQL Server cơ bản ngay trên Mac của bạn rồi đó. Giờ thì bạn có thể tạm ẩn Docker, chúng ta sẽ tiến hành cài đặt Azure để làm việc với SQL Server này.
Cài đặt Azure Data Studio trên Mac
Azure Data Studio là một ứng dụng dạng portable (không cần cài dặt, mở lên là dùng) của Microsoft và nó được thiết kế chỉ để làm việc với Microsoft SQL Server hoặc Azure SQL Server mà thôi, tất nhiên là nó rất tốt đó nhé. Còn các dạng database khác thì sẽ có nhiều ứng dụng khác hỗ trợ, sau này bạn gặp thì sẽ tìm hiểu được.
Bước 1: Bạn tải Azure Data Studio cho Mac bằng nút bên dưới > tải file zip ở dòng macOS.
Bước 2: Bạn nhấp đúp vào file zip để giải nén > mở Azure Data Studio lên > nhấp vào Add Connection hoặc Create a connection > nhập thông tin kết nối SQL Server như sau:
- Server: localhost
- Authentication type: SQL login
- User name: sa
- Pass: Password.1

Và đây là giao diện của làm việc với SQL Server trên Azure Data Studio, bây giờ bạn có thể vọc vạch và sẵn sàng để học ngôn ngữ SQL được rồi.

Lời kết
Có nhiều ứng dụng để làm việc với database chứ không cần phải cứ sử dụng sản phẩm của Microsoft. Lucid Gen đã tìm hiểu thì thấy ở Việt Nam các anh em khá chuộng Navicat, mình cũng thấy giao diện của Navicat khá thân thiện và cũng hỗ trợ nhiều loại database nổi tiếng khác, bài tiếp theo mình sẽ hướng dẫn bạn cài đặt Navicat trên mac nhé.
A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 – An internal exception was caught) em gặp lỗi này anh ơi, em tìm thử gpt các thứ mà em k biết cách khắc phục lỗi này
Lỗi này anh chưa gặp nên cũng chưa biết xử lý thế nào.
is not in the sudoers file nó báo em thế này thì là bị sao vậy ạ
Azure trên Mac M1 bị lỗi ‘clr’ thì làm sao để fix vậy ad? Fix bằng sp_configure thì không hỗ trợ. Mình tải database AdventureWorks2019 của Microsoft về làm thì lỗi bảng HumanResources.Employee
khi em ấn connect thì hiện ra pop up lỗi như này ạ “Login failed for user ‘sa'”. Trong khi SQL server bên Docker vẫn running ạ
Chào Tamm, nếu Docker đã đang chạy thì mình cũng không rõ vì sao bạn gặp lỗi đó. Bạn thử restart máy và bắt đầu lại xem. Hoặc có thể phải cài đặt lại.
Làm sao để dùng netbean code java có thể kết nối được với cơ sở dữ liệu được tạo ra thông qua các lệnh code a, em cảm ơn anh!
Chào Vương, mình chưa có kiến thức với Netbean nên chưa có giải đáp cho bạn được. Bạn có thể tham khảo chủ đề này trên Stackoverflow hoặc sử dụng ChatGPT để tham khảo code mẫu mà nó gợi ý nhé.
bn ơi cho mình hỏi ,lúc mình gõ có 1 chữ thì nó sẽ đề xuất nguyên 1 cụm từ luôn ,mình bấm lộn đâu đó trong azure và làm nó mất có cách nào khôi phục lại kh bn
Cái này chắc bạn mò lại trong các phần cài đặt chứ mình cũng hết dùng Azure rồi nên ko rành, hihi!
Hi cậu, mình đang bị lỗi khi connect Azure:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 – Could not open a connection to SQL Server: Could not open a connection to SQL Server)
– Mình kiểm tra thấy SQL Server trong Docker vẫn đang Running ấy nhỉ
Mình dùng bản chip M1 ạ
Hi Minh, bạn cần kiểm tra kỹ các thông tin mà bạn nhập vào để kết nối. Nếu bạn vẫn không thể xử lý được thì gỡ hết và bắt đầu lại từng bước cẩn thận thôi. Bài viết được hướng dẫn trên M1 nên hướng dẫn này phù hợp với máy của bạn. Chúc may mắn!
mình cũng gặp lỗi này không biết sửa sao
Kiểu nó hiện dòng chữ là
fatal error
com.docker.backendcannot start
exit code 152
e ko hiểu huhuhu
Em tìm lỗi này trên Google sẽ thấy có nhiều cách xử lý từ Github và Stackoverflow. Một trong những cách đơn giản là mở ứng dụng Activity monitor lên và đóng hết những gì đang chạy liên quan đến Docker, sau đó em mở lại Docker để dùng, hoặc khởi động lại máy. Nếu 2 cách này ko được thì em tham khảo những cách khác nhé.
em ko có cài đc trên Mac m1 ko hiểu sao lại thế nữa nó cứ báo lỗi á
Chào Thùy Anh, lỗi gì em nói cụ thể ra thì có thể anh đoán để giúp em được nha.
Kiểu nó hiện dòng chữ là
fatal error
com.docker.backendcannot start
exit code 152
e ko hiểu huhuhu
Chào bạn, mac chip intel có cài được SQL ko bạn, mình cám ơn
Được nha Huyền
Cám ơn bạn nhiều, mình đã cài được rồi
a cho xem xin dòng code khởi chạy dành cho mac chip intel được không ạ
e cảm ơn
Hi em, ngoài mục cài rosetta cho M1 ra thì còn lại Intel làm giống M1 nha.