Bật tính năng truy cập từ xa của MySQL server


26/08/2010      
Mặc định tính năng truy cập từ xa bị cấm trên máy chủ cơ sở dữ liệu MySQL vì lý do bảo mật. Tuy nhiên, đôi khi bạn cần cung cấp tính năng truy cập từ xa tới máy chủ cơ sở dữ liệu từ nhà hoặc từ máy chủ web.


Truy cập MySQL từ xa


Bạn cần phải gõ các lệnh sau để bật tính năng truy cập từ xa.

Bước  # 1: Truy cập sử dụng SSH (nếu máy chủ bên ngoài trung tâm dữ liệu của bạn)


Đầu tiên, đăng nhập bằng SSH tới máy chủ MySQL:
ssh user@mysql.nixcraft.i

Bước # 2: Sửa tập tin my.cnf


Sau khi đã kết nối thành công bạn cần sửa tập tin cấu hình MySQL là  my.cnf bằng cách sử dụng một công cụ soạn thảo ví dụ vi.

  • Nếu bạn sử dụng Debian Linux thì tập tin cấu hình được lưu ở /etc/mysql/my.cnf

  • Nếu bạn sử dụng Red Hat Linux/Fedora/Centos Linux thì tập tin cấu hình được lưu ở /etc/my.cnf

  • Nếu bạn sử dụng FreeBSD thì tập tin cấu hình được lưu ở /var/db/mysql/my.cnf


Sửa /etc/my.cnf, bằng cách gõ lệnh:
# vi /etc/my.cnf

Bước # 3: Khi đã mở tập tin, tìm các dòng sau


[mysqld]
Chắc chắn là dòng skip-networking được đặt sau ký tự # hoặc bị xóa đi và thêm các dòng sau:
bind-address=YOUR-SERVER-IP
Ví dụ, nếu máy của MySQL của bạn có IP là 65.55.55.2 thì nội dung cấu hình sẽ đặt như sau:
[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 65.55.55.2
# skip-networking
....
..
....
Trong đó,

  • bind-address : Địa chỉ IP để gán vào.

  • skip-networking : Không lăng nghe bất kỳ kết nối TCP/IP nào hếtl.Tất cả các tương tác với mysqld phải thông qua Unix sockets. Tùy chọn này được khuyến cáo sử dụng ở những hệ thống mà chỉ chấp nhận yêu cầu cục bộ. Khi bạn cần dùng tính năng truy cập từ xa thì phải bỏ dòng này trong tập tin my.cnf hoặc thêm ký tự # vào trước dòng.


Bước # 4 Lưu và đóng tập tin


Khởi động lại máy chủ MySQL bằng cách gõ:
# /etc/init.d/mysql restart

Bước # 5 Gán quyển truy cập cho địa chỉ IP


Kết nối tới máy chủ MySQL:
$ mysql -u root -p mysql

Gán truy cập tới một cơ sở dữ liệu mới


Nếu bạn muốn thêm một cơ sở dữ liệu mới là foo cho người dùng bar và địa chỉ IP là 202.54.10.20 thì bạn cần gõ lệnh sau:
mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';

Làm sao để gán truy cập tới một cơ sở dữ liệu đã có sẵn?


Giả sử bạn luôn tạo kết nối từ IP 202.54.10.20 cho cơ sở dữ liệu webdb của người dùng webadmin, Để gán truy cập cho IP này, bạn gõ dòng lệnh sau:
mysql> update db set Host='202.54.10.20' where Db='webdb';
mysql> update user set Host='202.54.10.20' where user='webadmin';

Bước # 5: Thoát khỏi MySQL


Gõ lệnh thoát để thoát khỏi mysql: mysql> exit

Bước # 6: Mở cổng 3306


Bạn cần mở cổng 3306 bằng cách sử dụng iptables hoặc BSD pf firewall.

Ví dụ luật của iptables để mở iptables firewall


/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
hoặc chỉ cho phép truy cập từ xa từ máy chủ  web đặt ở 10.5.1.3:
/sbin/iptables -A INPUT -i eth0 -s 10.5.1.3 -p tcp --destination-port 3306 -j ACCEPT
hoặc chỉ cho phép truy cập từ xa từ subnet của mạng LAN của bạn 192.168.1.0/24:
/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT
Cuối cùng lưu tất cả các luật:
# service iptables save

Ví dụ luật của FreeBSD / OpenBSD pf ( /etc/pf.conf)


pass in on $ext_if proto tcp from any to any port 3306
hoặc chỉ cho phép truy cập từ máy chủ web ở địa chỉ: 10.5.1.3:
pass in on $ext_if proto tcp from 10.5.1.3 to any port 3306  flags S/SA synproxy state

Bước # 7: Kiểm tra


Từ máy hệ thống từ xa hoặc trên máy của bạn gõ lệnh sau:
$ mysql -u webadmin –h 65.55.55.2 –p
Trong đó,

  • -u webadmin: webadmin là tên truy cập vào MySQL

  • -h IP or hostname: 65.55.55.2 là địa chỉ IP máy chủ MySQL hoặc hostname (FQDN)

  • -p : Hỏi mật khẩu


Bạn có thể sử dụng để kết nối tới cổng 3306 để kiểm tra:
$ telnet 65.55.55.2 3306

Không có nhận xét nào:

Đăng nhận xét

Giới thiệu

Website hướng dẫn các thủ thuật, cách cài đặt, cấu hình các phần mềm. Các thông tin công nghệ và hướng dẫn lập trình...

facebook.com/dung.phamtrung.9

phamtrungdung@gmail.com

Copyright © 2016. Cách cài đặt. Ghi rõ nguồn khi lấy tin từ trang này