Ở trên localhost, bạn có thể dễ dàng kết nối tới MySQL / MariaDB Server sử dụng phần mềm MySQL Workbench với các thông số cơ bản chỉ với hostname, mysql user và password. Trong trường hợp, bạn muốn sử dụng MySQL Workbench tới 1 server cài đặt MySQL / MariaDB, thì bạn cần phải public cổng 3306 cho MySQL, rồi tạo user cho phép kết nối từ xa. Ôi có quả nhiều bước phải thực hiện mà nghe chừng ko bảo mật gì cả. Để không phải các bước phức tạp như vậy, vinasupport.com sẽ hướng dẫn các bạn tạo 1 kết nối tới CSDL MySQL / MariaDB thông qua SSH trên MySQL Workbench.
Bước 1: Tạo 1 kết nối
Bước 2: Một cửa sổ [ Setup New Connection ] sẽ mở ra.
Ở phần [ Connection Method ] các bạn chọn “Standard TPC/IP over SSH” sau đó nhập các thông tin cần thiết để kết nối tới server cài đặt MySQL / MariaDB
Bước 3: Kiểm tra lại kết nối bằng việc bấm vào nút [ Test Connection ]
Kết quả mình đã kết nối tới server thành công. Chú ý là vinasupport.com sử dụng MariaDB nên connection báo là warning, các bạn cứ bấm [ Continue Anyway ] vô tư để kết nối vào MariaDb trên Server.
Chú ý:
Khi thực hiện kết nối thông qua SSH, rất có thể bạn sẽ bị mất kết nối SSH sau 1 thời gian không sử dụng liên tục. Lúc đó giải pháp là:
Mở kết nối của bạn => Chọn [ Edit ] => [Preferences] => [ Others ]
Điền thông số SSH Keep Alive bằng khoảng thời gian mà bạn mong muốn để nó ping tới server. VD: mình để 10 giây như hình bên dưới.
Nguồn: vinasupport.com
1. Giới thiệu
Đôi khi chúng ta cần thao tác với database[DB] trên server EC2 của aws.
Và thật vất vã khi gõ từng dòng lệnh sql, kết quả hiển thị lại là cái bảng terminal đen thui thui. Thật khó chịu phải không nào.
Thế làm thế nào để mình có thể thao tác với DB mysql thuận tiện y như dưới local của mình thông qua MySql Workbench. Và bài viết này này giúp bạn làm điều ấy
Lưu ý: Bài này mình chỉ áp dụng cho Mysql thôi nhé.
2. Hướng dẫn
Bước 1: Cài đặt MySql Workbench
Đối với ubuntu:
sudo apt-get install mysql-workbench
Hướng dẫn
Đối với Windows:
Hướng dẫn
Note: Trường hợp install xong mà bị lỗi ko mở lên được thì tham khảo: Tại đây
Bước 2: Tạo ssh, tạo account cấp quyền truy cập vào EC2
Gennerate ssh
Sau khi có ssh thì có 2 hướng:
- Bạn là người deploy thì ném ssh vào
~/.ssh/authorized_keys
- Bạn là người "làm công ăn lương" thì xin sếp cấp
quyền truy cập vào server, ném ssh đó cho sếp bảo sếp add bạn vào thư mục trên
Đồng thời cũng được cấp cho 1 account truy cập vào EC2.
Để test thành công hay không thì bạn chỉ cần chạy thử: Ví dụ ip server là: 10.0.3.89
và user là: ec2-user
Thì bạn chạy lệnh ssh
nếu vào được server thì có nghĩa là bạn có thể sử dụng user, ip và ssh cho bước tiếp theo.
Bước 3: Tạo connection tới DB mysql trên EC2
Tạo connection bằng cách: click vào dấu [+] bên cạnh Mysql Connections
Sau đó nhập các thông tin bên dưới, bao gồm:
Connection Name: Là tên connection để bạn phân biệt với những connection khác. Ví dụ mình đặt DB EC2 chẳng hạn
Connection Method: Chọn
Standard TCP/IP over SSH
Trong tabParameters
thì:SSH Hostname: đây là ip ssh của bạn hoặc hostname server AWS
SSH Username: Là user được cấp ở bước 2.
SSH Password: Trường hợp có password thì click vào
Store in Keychain...
rồi nhập vào. nếu ko có thì bỏ quaSSH Key file:
Cách 1: dùng file ssh Di chuyển tới thư mục chưa file ssh bằng tay hoặc làm 2 bước dưới đây:
cd ~/.ssh/authorized_keys
- Dùng lệnh
pwd
rồi sau đó copy đường truyền vào.
Cách 2: file xxxxxxxxxxxx.pem khi tạo instance EC2 mà bạn download về. [cách này ko thông dụng bằng cách trên]
Tiếp đến là phần thông tin DB
- MySQL Hostname: Thường thì sẽ để ip localhost, vì đã connect vào EC2 phía trên rồi.
- MySQL Server Port: Port của MySQL, mặc định là 3306
- Username: user đăng nhập vào mysql
- Password: password đăng nhập vào mysql [nếu có]
Ảnh minh họa.
Sau đó click vào Test Connections
nếu ra hình bên dưới thì chúc mừng bạn đã thành công:
3. Lưu ý:
Server EC2 phải mở cổng cho phép truy cập mysql từ xa
Nên phân quyền khi tạo account connect mysql hạn chế việc lỡ tay drop DB
Hướng dẫn phân quyên
4. Kết luận
Cảm ơn các bạn đã theo dõi. hi vọng bài viết giúp ích được cho các bạn. [bow]
Tài liệu tham khảo
//vannstudios.com/connecting-mysql-database-engine-on-amazon-ec2-from-mysql-workbench //www.linkedin.com/pulse/using-mysql-workbench-connect-your-server-aws-ec2-ubuntu-william-ku