Hướng dẫn how do i connect to a mysql database from another server? - làm cách nào để kết nối với cơ sở dữ liệu mysql từ một máy chủ khác?

Cập nhật lần cuối: & NBSP; 2018-12-19

Được ủy quyền bởi: & nbsp; hỗ trợ Rackspace


Bài viết này giải thích cách thiết lập người dùng trên máy chủ MySQL® của bạn để kết nối với cơ sở dữ liệu MySQL từ xa.

Lưu ý: Bài viết chỉ cho bạn cách kết nối với phiên bản MySQL cục bộ với máy chủ. Đối với các bước tương ứng cho cơ sở dữ liệu đám mây, hãy xem Kết nối với thể hiện cơ sở dữ liệu đám mây.: The article shows you how to connect to a MySQL instance local to a server. For the corresponding steps for Cloud Databases, see Connect to a Cloud Database instance.

Để thực hiện các bước này, bạn phải có quyền truy cập máy chủ cục bộ để đăng nhập với tư cách là người dùng MySQL

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
7.

Lấy địa chỉ IP của bạn

Bạn cần biết địa chỉ Giao thức Internet (IP) của máy tính mà bạn đang kết nối. Bạn có thể truy xuất thông tin này bằng cách truy cập một trong các trang web sau:

  • https://icanhazip.com
  • https://www.whatismyip.com

Cấp phép truy cập

Thực hiện các bước sau để cấp quyền truy cập cho người dùng từ máy chủ từ xa:

  1. Đăng nhập vào máy chủ MySQL của bạn cục bộ với tư cách là người dùng

     mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
    
    7 bằng cách sử dụng lệnh sau:

     # mysql -u root -p
    

    Bạn được nhắc về mật khẩu gốc MySQL của mình.

    Lưu ý: Nếu bạn có quyền truy cập vào MySQL mà không cần nhập mật khẩu, hãy xem xét chạy tập lệnh

     mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
    
    9, đặt mật khẩu gốc MySQL và cập nhật các cài đặt khác để tăng bảo mật. Dịch vụ được quản lý Microsoft SQL Server có thể giúp bạn quản lý các phiên bản SQL Server của mình.: If you gain access to MySQL without entering a password, consider running the
     mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
    
    9 script, which sets a MySQL root password and updates other settings to increase security. Microsoft SQL Server Managed Services can help you manage your SQL server instances.

  2. Sử dụng lệnh

    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    0 ở định dạng sau để cho phép truy cập cho người dùng từ xa. Đảm bảo rằng bạn thay đổi
    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    1 thành địa chỉ IP mà bạn đã nhận được trước đó và
    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    2 sang mật khẩu mà bạn muốn
    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    3 sử dụng:

     mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
    

    Tuyên bố này cấp quyền

    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    4 cho người dùng mới khi người dùng kết nối từ địa chỉ IP được chỉ định bằng cách sử dụng mật khẩu được chỉ định.

Kiểm tra kết nối từ xa

Để kiểm tra kết nối từ xa, hãy truy cập máy chủ MySQL từ máy chủ Linux® khác. Ví dụ sau sử dụng

# mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> _
5 làm địa chỉ IP của máy chủ MySQL:

# mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> _

Cân nhắc

Khi bạn thiết lập người dùng từ xa, hãy xem xét các thông tin sau:

  • Người dùng cục bộ khác với người dùng từ xa. Ví dụ,

    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    6 không giống như
    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    7. Nếu bạn muốn cả hai người dùng có cùng quyền, bạn cần sao chép các quyền.

  • Chúng tôi không khuyên bạn nên cấp quyền

    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    4. Đối với người dùng tiêu chuẩn, chúng tôi khuyên bạn nên cấp quyền
    # mysql -u fooUser -p -h 44.55.66.77
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> _
    
    9.

  • Để chỉ cấp quyền truy cập vào một bảng cụ thể, bạn có thể sử dụng lệnh

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    0. Ví dụ: trong bước trước, bạn có thể sử dụng
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    1 thay vì
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    2.

  • Nếu bạn sử dụng IPTables, bạn cần thêm mục nhập vào quy tắc tường lửa cho giao thức điều khiển truyền (TCP) Cổng 3306. Bạn có thể sử dụng tên

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    3 cho số cổng.

© 2020 Rackspace US, Inc.

Ngoại trừ nơi được ghi chú khác, nội dung trên trang web này được cấp phép theo một giấy phép Creative Commons Attribution-Noncommial-Noderivs 3.0

Hướng dẫn how do i connect to a mysql database from another server? - làm cách nào để kết nối với cơ sở dữ liệu mysql từ một máy chủ khác?

Xem các thông tin và từ chối bằng giấy phép

Giới thiệu

Không có gì lạ khi lưu trữ cơ sở dữ liệu và máy chủ web trên cùng một máy cục bộ. Tuy nhiên, nhiều tổ chức hiện đang chuyển sang một môi trường phân tán hơn.

Một máy chủ cơ sở dữ liệu riêng biệt có thể cải thiện bảo mật, hiệu suất phần cứng và cho phép bạn mở rộng quy mô tài nguyên nhanh chóng. Trong các trường hợp sử dụng như vậy, học cách quản lý tài nguyên từ xa một cách hiệu quả là ưu tiên hàng đầu.

Hướng dẫn này chỉ cho bạn cách bật các kết nối từ xa vào cơ sở dữ liệu MySQL.

Hướng dẫn how do i connect to a mysql database from another server? - làm cách nào để kết nối với cơ sở dữ liệu mysql từ một máy chủ khác?

Điều kiện tiên quyết

  • Truy cập vào một cửa sổ/dòng lệnh đầu cuối
  • Máy chủ MySQL từ xa
  • Đặc quyền sudo hoặc root trên máy địa phương và từ xa or root privileges on local and remote machines

Lưu ý: Nếu bạn không có quyền truy cập trực tiếp vào máy chủ MySQL của mình, bạn cần thiết lập kết nối SSH an toàn. Trong trường hợp bạn cần hỗ trợ, chúng tôi đã chuẩn bị một hướng dẫn toàn diện về cách sử dụng SSH để kết nối với một máy chủ từ xa. Bài viết này phải đọc cho bất kỳ ai mới trong quá trình. If you do not have direct access to your MySQL server, you need to establish a secure SSH connection. In case you need assistance, we have prepared a comprehensive tutorial on how to use SSH to connect to a remote server. This article a must-read for anyone new to the process.

Kết nối từ xa máy chủ MySQL

Cho phép kết nối với máy chủ MySQL từ xa được thiết lập theo 3 bước:

1. Chỉnh sửa tệp cấu hình MySQL.

2. Cấu hình tường lửa.

3. Kết nối với máy chủ MySQL từ xa.

Bước 1: Chỉnh sửa tệp cấu hình MySQL

1.1 Truy cập tệp mysqld.cnf

Sử dụng trình soạn thảo văn bản ưa thích của bạn để mở tệp mysqld.cnf. Ví dụ này sử dụng trình chỉnh sửa văn bản nano trong Ubuntu 18.04. Nhập lệnh sau vào giao diện dòng lệnh của bạn để truy cập tệp cấu hình máy chủ MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Vị trí của tệp có thể thay đổi dựa trên phân phối và phiên bản đang sử dụng. Nếu tệp cấu hình MySQL không phải là vị trí mặc định của nó, hãy thử bằng lệnh Linux

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
4 để phát hiện nó.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
4
command to detect it.

1.2 Thay đổi IP địa chỉ liên kết

Bây giờ bạn có quyền truy cập vào tệp cấu hình máy chủ MySQL. Cuộn xuống dòng địa chỉ liên kết và thay đổi địa chỉ IP. IP mặc định hiện tại được đặt thành 127.0.0.1. IP này giới hạn các kết nối MySQL với máy cục bộ.bind-address line and change the IP address. The current default IP is set to 127.0.0.1. This IP limits MySQL connections to the local machine.

Hướng dẫn how do i connect to a mysql database from another server? - làm cách nào để kết nối với cơ sở dữ liệu mysql từ một máy chủ khác?

IP mới sẽ khớp với địa chỉ của máy cần truy cập máy chủ MySQL từ xa. Ví dụ: nếu bạn liên kết MySQL với 0,0.0.0, thì bất kỳ máy nào đến máy chủ MySQL cũng có thể kết nối với nó.

Khi bạn thực hiện các thay đổi cần thiết, hãy lưu và thoát tệp cấu hình.

Lưu ý: Truy cập từ xa được xác minh bổ sung bằng cách sử dụng thông tin đăng nhập và tham số người dùng chính xác mà bạn đã xác định cho người dùng MySQL của mình. Remote access is additionally verified by using the correct credentials and user parameters you have defined for your MySQL users.

1.3 Khởi động lại dịch vụ MySQL

Áp dụng các thay đổi được thực hiện cho tệp cấu hình MySQL bằng cách khởi động lại dịch vụ MySQL:

sudo systemctl restart mysql

Tiếp theo, cài đặt tường lửa hiện tại của bạn cần được điều chỉnh để cho phép lưu lượng truy cập đến cổng MySQL mặc định.

Bước 2: Thiết lập tường lửa để cho phép kết nối MySQL từ xa

Trong khi chỉnh sửa tệp cấu hình, có lẽ bạn đã quan sát thấy rằng cổng MySQL mặc định là 3306.3306.

Hướng dẫn how do i connect to a mysql database from another server? - làm cách nào để kết nối với cơ sở dữ liệu mysql từ một máy chủ khác?

Nếu bạn đã cấu hình tường lửa trên máy chủ MySQL của mình, bạn cần mở lưu lượng truy cập cho cổng cụ thể này. Thực hiện theo các hướng dẫn bên dưới tương ứng với dịch vụ tường lửa của bạn đang được sử dụng.

Tùy chọn 1: UFW (tường lửa không biến chứng)

UFW là công cụ tường lửa mặc định trong Ubuntu. Trong cửa sổ đầu cuối, nhập lệnh sau để cho phép lưu lượng truy cập và khớp với IP và cổng:

sudo ufw allow from remote_ip_address to any port 3306

Hướng dẫn how do i connect to a mysql database from another server? - làm cách nào để kết nối với cơ sở dữ liệu mysql từ một máy chủ khác?

Hệ thống xác nhận rằng các quy tắc đã được cập nhật thành công.

Tùy chọn 2: Firewalld

Công cụ quản lý Firewalld trong Centos sử dụng các khu vực để chỉ ra lưu lượng truy cập nào được cho phép.zones to dictate what traffic is to be allowed.

Tạo một vùng mới để đặt các quy tắc cho lưu lượng máy chủ MySQL. Tên của vùng trong ví dụ của chúng tôi là MySQLrule và chúng tôi đã sử dụng địa chỉ IP từ ví dụ trước 133.155.44.103:

sudo firewall-cmd --new-zone=mysqlrule --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlrule --add-source=133.155.44.103
sudo firewall-cmd --permanent --zone=mysqlrule --add-port=3306/tcp
sudo firewall-cmd --reload

Bạn đã mở thành công cổng 3306 trên tường lửa của bạn.

Tùy chọn 3: Mở cổng 3306 với Iptables

Tiện ích IPTables có sẵn trên hầu hết các phân phối Linux theo mặc định. Nhập lệnh sau để mở cổng MySQL 3306 để không giới hạn lưu lượng:iptables utility is available on most Linux distributions by default. Type the following command to open MySQL port 3306 to unrestricted traffic:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Để giới hạn quyền truy cập vào một địa chỉ IP cụ thể, thay vào đó hãy sử dụng lệnh sau: thay vào đó:

sudo iptables -A INPUT -p tcp -s 133.155.44.103 --dport 3306 -j ACCEPT

Lệnh này cấp quyền truy cập vào 133.155.44.103. Bạn sẽ cần thay thế nó bằng IP cho kết nối từ xa của bạn.

Nó là cần thiết để lưu các thay đổi được thực hiện cho các quy tắc Iptables. Trong một loại phân phối dựa trên Ubuntu, các lệnh sau:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Lưu ý: Nếu các lệnh trước không hoạt động, hãy thử cài đặt chương trình với: If the previous commands do not work, try installing the program with:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
0

Nhập lệnh tiếp theo để lưu các quy tắc IPTables mới tính bằng centos:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
1

Bước 3: Kết nối với máy chủ MySQL từ xa

Máy chủ từ xa của bạn hiện đã sẵn sàng để chấp nhận kết nối. Sử dụng lệnh sau để thiết lập kết nối với máy chủ MySQL từ xa của bạn:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
2

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
5 trong lệnh đại diện cho tên người dùng MySQL của bạn.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
6 là IP hoặc tên máy chủ của máy chủ MySQL của bạn. Tùy chọn
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
7 nhắc bạn nhập mật khẩu cho tên người dùng MySQL.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
5
in the command represents your MySQL username. The
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
6
is the IP or the hostname of your MySQL server. The
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
7
option prompts you to enter the password for the MySQL username.

Bạn sẽ thấy một đầu ra tương tự như dưới đây:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
3

Làm thế nào để cấp quyền truy cập từ xa vào cơ sở dữ liệu MySQL mới?

Nếu bạn chưa có bất kỳ cơ sở dữ liệu nào, bạn có thể dễ dàng tạo cơ sở dữ liệu bằng cách nhập lệnh sau vào vỏ MySQL của bạn:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
4

Để cấp quyền truy cập người dùng từ xa vào cơ sở dữ liệu cụ thể:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
5

Tên của cơ sở dữ liệu, tên người dùng, IP từ xa và mật khẩu cần phù hợp với thông tin bạn muốn sử dụng cho kết nối từ xa.

Cách cấp quyền truy cập từ xa vào cơ sở dữ liệu MySQL hiện có

Cấp quyền truy cập từ xa cho người dùng cho cơ sở dữ liệu hiện có yêu cầu một bộ hai lệnh:

 mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
6

User1 hiện có thể truy cập YourDB từ một vị trí từ xa được xác định bởi IP 133.155.44.103.

Sự kết luận

Trong bài viết này, bạn đã có được cái nhìn sâu sắc có giá trị về các nguyên tắc chung của kết nối MySQL từ xa.

Với thông tin đăng nhập phù hợp, người dùng có nguồn gốc từ địa chỉ IP được chỉ định hiện có thể truy cập vào máy chủ MySQL của bạn từ máy từ xa.

Làm cách nào để kết nối với cơ sở dữ liệu MySQL từ một máy chủ khác?

Kết nối với máy chủ MySQL từ xa ...
Bước 1: Chỉnh sửa tệp cấu hình MySQL. 1.1 Truy cập tệp mysqld.cnf. ....
Bước 2: Thiết lập tường lửa để cho phép kết nối MySQL từ xa. Trong khi chỉnh sửa tệp cấu hình, có lẽ bạn đã quan sát thấy rằng cổng MySQL mặc định là 3306. ....
Bước 3: Kết nối với máy chủ MySQL từ xa ..

Làm cách nào để kết nối với cơ sở dữ liệu MySQL hiện có?

Để kết nối với máy chủ MySQL:..
Xác định vị trí máy khách dòng lệnh MySQL.....
Chạy khách hàng.....
Nhập mật khẩu của bạn.....
Nhận một danh sách các cơ sở dữ liệu.....
Tạo một cơ sở dữ liệu.....
Chọn cơ sở dữ liệu bạn muốn sử dụng.....
Tạo một bảng và chèn dữ liệu.....
Hoàn thành làm việc với máy khách dòng lệnh MySQL ..

Làm cách nào để kết nối với cơ sở dữ liệu MySQL bằng địa chỉ IP?

Chọn các kết nối từ menu điều hướng SQL. Trong phần mạng được ủy quyền, nhấp vào Thêm mạng và nhập địa chỉ IP của máy nơi máy khách được cài đặt.Lưu ý: Địa chỉ IP của phiên bản và địa chỉ IP của máy khách MySQL mà bạn ủy quyền phải là cùng một phiên bản IP: IPv4 hoặc IPv6.Nhấp vào xong. In the Authorized networks section, click Add network and enter the IP address of the machine where the client is installed. Note: The IP address of the instance and the mysql client IP address you authorize must be the same IP version: either IPv4 or IPv6. Click Done.