Truy cập MySQL Server từ xa thông qua SSH

MySQL là một hệ quản trị cơ sở dữ liệu thường dùng trong các phiên bản khác nhau của Linux, nó có một đặc điểm là mặc định nó chỉ mở các cổng địa phương vì lí do bảo mật. Nếu bạn muốn truy cập đến cơ sở dữ liệu của bạn từ một công cụ máy khác như MySQL Query Browser, thì bình thường bạn phải mở truy cập từ địa chỉ IP local của bạn…nhưng nó thật không an toàn.

Giải pháp thay thế ở đây là, chúng ta sẽ sử dụng port-forwarding thông qua một SSH tunnel, vì như thế MySQL client của bạn sẽ nghĩ rằng nó đang kết nối đến máy localhost, nhưng thực ra nó đang kết nối đến một máy chủ khác thông qua tunnel (đường hầm).

Nếu bạn dùng câu lệnh ssh, câu lệnh đó sẽ giống như dưới đây. (Bạn có thể làm việc này sử dụng chế độ đồ họa thông qua Putty hoặc SecureCRT nếu bạn muốn)

ssh –L 3306:localhost:3306 geek@webserver.com

Cú pháp của lệnh ssh: ssh –L <localport>hostname<remoteport> <username>@<servername>. Chúng ta sử dụng locahost như là hostname vì chúng ta truy cập trực tiếp đến mysql server ở xa thông qua ssh. Bạn cũng có thể dùng kĩ thuật này đến port-forward thông qua một ssh server đến một server khác.

Nếu bạn đã có mysql chạy trên hệ thống thì bạn có thể sử dụng một cổng địa phương khác cho port-forwarding, và thiết đặt công cụ máy khách của bạn truy cập đến MySQL trên một cổng khác.

Một khi bạn đã có ssh tunnel chạy, bạn có thể mở MySQL Query Browser và điền vào chi tiết server ở xa của bạn, dùng localhost như server host, và chọn cổng mà bạn muốn dùng.

Khi bạn dùng phương pháp này, bạn sẽ không cần dùng đến phpmyadmin hoặc dòng lệnh nữa.

Thứ Hai, 16/03/2009 09:33
41 👨 4.579
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp