Máy chủ 'xxx.xx.xxx.xxx' không được phép kết nối với máy chủ MySQL này


665

Điều này thật đơn giản, nhưng tôi không thể làm việc đó cho cuộc sống của mình.
Tôi chỉ đang cố gắng kết nối từ xa với máy chủ MySQL của tôi.

kết nối như

mysql -u root -h localhost -p  

hoạt động tốt, nhưng cố gắng

mysql -u root -h 'any ip address here' -p

lỗi với lỗi

ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server

Trong mysql.userbảng, có chính xác cùng một mục nhập cho người dùng 'root' với máy chủ 'localhost' như một mục khác với máy chủ '%'.

Tôi đang ở cuối trí thông minh của mình, và không biết làm thế nào để tiếp tục. Bất kỳ ý tưởng đều được chào đón.


Không thể đăng nhập bằng root trong hầu hết các trường hợp do biện pháp phòng ngừa bảo mật ..
AO_

Câu trả lời:


813

Có thể là một biện pháp phòng ngừa an ninh. Bạn có thể thử thêm tài khoản quản trị viên mới:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;

Mặc dù như Pascal và những người khác đã lưu ý rằng không nên để người dùng có loại quyền truy cập này mở bất kỳ IP nào. Nếu bạn cần một người dùng quản trị, hãy sử dụng root và để nó trên localhost. Đối với bất kỳ hành động nào khác, chỉ định chính xác các đặc quyền bạn cần và giới hạn khả năng truy cập của người dùng như Pascal đã đề xuất bên dưới.

Biên tập:

Từ Câu hỏi thường gặp về MySQL:

Nếu bạn không thể hiểu tại sao bạn bị từ chối truy cập, hãy xóa khỏi bảng người dùng tất cả các mục có giá trị Máy chủ chứa ký tự đại diện (các mục có chứa ký tự '%' hoặc '_'). Một lỗi rất phổ biến là chèn một mục nhập mới với Host = '%' và User = 'some_user', nghĩ rằng điều này cho phép bạn chỉ định localhost để kết nối từ cùng một máy. Lý do điều này không hoạt động là các đặc quyền mặc định bao gồm một mục nhập với Host = 'localhost' và User = ''. Bởi vì mục nhập đó có giá trị Máy chủ 'localhost' cụ thể hơn '%', nên nó được sử dụng để ưu tiên cho mục nhập mới khi kết nối từ localhost! Quy trình đúng là chèn mục nhập thứ hai với Host = 'localhost' và User = 'some_user', hoặc để xóa mục nhập với Host = 'localhost' và User = ''. Sau khi xóa mục nhập, hãy nhớ đưa ra câu lệnh FLUSH PRIVILEGES để tải lại các bảng cấp. Xem thêm Phần 5.4.4, Kiểm soát truy cập, Giai đoạn 1: Xác minh kết nối.


17
Bắt tốt Yannick, tuy nhiên tôi sẽ không đề nghị anh ta cấp tất cả các đặc quyền cho người dùng không root. Có lẽ một bộ giảm?
Corey Ballou

3
Chà, điều này thực sự sẽ không phải là một ý tưởng hay, nhưng cho phép 'root' kết nối từ tất cả các máy chủ là hoàn toàn giống nhau, vì nó ở cùng cấp độ đặc quyền.
Yannick M Bông

2
Tôi nghĩ rằng bạn bỏ lỡ điểm Pascal của tôi. Vấn đề là người dùng 'root' đã có những quyền đó và anh ta muốn cho phép bất kỳ ip nào xác thực là người dùng đó. Vì vậy, nếu đây thực sự là những gì anh ấy muốn, ví dụ mặc định về việc tạo người dùng quản trị viên mới (có chính xác các quyền tương tự) là một thay thế cho những gì anh ấy đang cố gắng.
Yannick M Bông

2
Đúng vậy, Yannick, tôi đã đọc nhanh và sẽ xóa bình luận của tôi. Tuy nhiên, AFAIK, các quyền đang hoạt động tốt trong MySQL vì vậy: 1. có thể OP đã sửa đổi các bảng cấp bằng tay và sau đó cần xóa các đặc quyền. 2. có thể anh ta đã không sử dụng cú pháp cấp quyền thích hợp cho root. Thêm một người dùng quản trị khác có thể là một cách giải quyết nhưng nó sẽ không giải quyết được vấn đề thực sự IMHO.
Pascal Thivent

1
Tôi cảm thấy rằng việc cung cấp quyền truy cập từ tất cả các máy chủ để root không phải là một giải pháp thích hợp. Thay vào đó, tôi đã tạo một người dùng mới và được cấp một bộ đặc quyền giảm, bộ tôi đã sử dụng được mô tả là 'DBManager' trên MySQL Workbench. Tôi cũng chỉ cho phép truy cập từ một nhóm máy chủ nhất định trong mạng cục bộ của mình, đặc biệt là 192.168.0.%
Gustavo Guevara

270

Người ta phải tạo new MySQL Uservà gán các đặc quyền như dưới đây Query promptthông qua phpMyAdmin hoặc dấu nhắc lệnh:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Sau khi thực hiện với tất cả bốn truy vấn, nó sẽ kết nối với username / password


5
Phải khởi động lại mysql sau khi hoàn thành các bước trên để làm việc này với tôi.
BOTbooth

Bạn có phải tạo tên người dùng @ localhost không? Nó không đủ nếu bạn chỉ tạo tên người dùng @%? Ý tôi là, nếu bạn chỉ tạo tên người dùng @%, bạn sẽ không thể kết nối với người dùng đó từ localhost chứ?
Sorin Postelnicu

1
yeah tạo ra một @localhostý nghĩa nếu các đặc quyền khác nhau bằng cách nào đó nhưng ở đây chúng giống nhau và nó có thể sẽ gây nhầm lẫn hơn bất cứ điều gì (chẳng hạn như thay đổi mật khẩu trên một cái không nhận ra cái kia tồn tại và rằng đăng nhập của bạn có thể đánh vào cái đó ).
Bratchley

như một người mới bắt đầu, nó thực sự đã giúp tôi
Muhammad Nayab

1
cảm ơn nó đã giải quyết "SQLSTATE [HY000] [1130] Máy chủ 'DESKTOP-xxx.xx' không được phép kết nối với máy chủ MariaDB này" trong ứng dụng laravel được đóng gói trong windows
Zulqarnain

117

Thông báo lỗi của tôi tương tự và cho biết ' Máy chủ XXX không được phép kết nối với máy chủ MySQL này ' mặc dù tôi đang sử dụng root. Đây là cách đảm bảo rằng root có quyền chính xác.

Thiết lập của tôi :

  • Ubuntu 14.04 LTS
  • MySQL v5.5.37

Giải pháp

  1. Mở tệp dưới 'etc / mysql / my.cnf'
  2. Kiểm tra:

    • cổng (theo mặc định đây là 'port = 3306')
    • địa chỉ liên kết (theo mặc định đây là 'bind-address = 127.0.0.1'; nếu bạn muốn mở cho tất cả thì chỉ cần nhận xét dòng này. Ví dụ của tôi, tôi sẽ nói máy chủ thực tế là trên 10.1.1.7)
  3. Bây giờ truy cập Cơ sở dữ liệu MySQL trên máy chủ thực tế của bạn (giả sử địa chỉ từ xa của bạn là 123.123.123.123 tại cổng 3306 với tư cách là người dùng 'root' và tôi muốn thay đổi quyền trên cơ sở dữ liệu 'dataentry'. Hãy nhớ thay đổi Địa chỉ IP, Cổng và tên cơ sở dữ liệu để cài đặt của bạn)

    mysql -u root -p
    Enter password: <enter password>
    mysql>GRANT ALL ON *.* to root@'123.123.123.123' IDENTIFIED BY 'put-your-password';
    mysql>FLUSH PRIVILEGES;
    mysql>exit
  4. sudo dịch vụ khởi động lại mysqld

  5. Bây giờ bạn có thể kết nối từ xa đến cơ sở dữ liệu của bạn. Ví dụ: tôi đang sử dụng MySQL Workbench và đặt 'Tên máy chủ: 10.1.1.7', 'Cổng: 3306', 'Tên người dùng: root'

1
Bạn có thể bỏ qua use dataentrydòng này (vì hầu hết mọi người sẽ không tạo cơ sở dữ liệu đó).
Jedidja

3
tôi đã có thể làm điều này mà không cần khởi động lại mysqldịch vụ vào cuối
Ryan Tuck

5
FLUSH PRIVILEGESnên cho phép bạn không cần phải khởi động lại.
Adam B

Điều này làm việc với tôi cho MySQL 5.5 trên Windows 10 với tính năng RIÊNG TƯ, mà không cần khởi động lại dịch vụ. Trên Windows, các thuộc tính của dịch vụ sẽ xác định tệp my.ini được sử dụng cho cấu hình (Thuộc tính | Chung | Đường dẫn để thực thi)
FreeText

Tôi giả định rằng bằng cách chỉ định bind-address = "0.0.0.0", nó sẽ lắng nghe trên tất cả các giao diện và các kết nối từ xa sẽ hoạt động nhưng tôi đã sai. Có, netstat cho thấy mysql đã nghe trên 0.0.0.0 (tất cả các giao diện) nhưng tôi đã nhận được lỗi trong tiêu đề câu hỏi. Khi tôi loại bỏ hoàn toàn dòng địa chỉ liên kết, nó bắt đầu hoạt động. Kỳ dị.
Henno

71

Bạn cần cấp quyền truy cập cho người dùng từ bất kỳ tên máy chủ nào.

Đây là cách bạn thêm đặc quyền mới từ phpmyadmin

Đặc quyền Goto> Thêm người dùng mới

nhập mô tả hình ảnh ở đây

Chọn bất kỳ máy chủ nào cho tên người dùng mong muốn

nhập mô tả hình ảnh ở đây


65

Chỉ cần thực hiện các bước sau:

1a) Kết nối với mysql (qua localhost)

mysql -uroot -p

1b) Nếu máy chủ myslq đang chạy trong Kubernetes (K8) và được truy cập qua NodePort

kubectl exec -it [pod-name] -- /bin/bash
mysql -uroot -p

2) Tạo người dùng

CREATE USER 'user'@'%' IDENTIFIED BY 'password';

3) Cấp quyền

 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;

4) Flush tư nhân

FLUSH PRIVILEGES;

3
LRI 1045 (28000): Truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng passwoYES) Y
Gank

11
Nên là *.* ?
sgarg

26

Tin nhắn *Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL serverlà một phản hồi từ máy chủ MySQL đến máy khách MySQL. Lưu ý cách nó trả về địa chỉ IP và không phải tên máy chủ.

Nếu bạn đang cố gắng kết nối với mysql -h<hostname> -u<somebody> -p và nó trả về thông báo này bằng địa chỉ IP, thì máy chủ MySQL không thể thực hiện tra cứu ngược lại trên máy khách. Điều này rất quan trọng vì đó là cách nó ánh xạ máy khách MySQL tới các khoản tài trợ.

Hãy chắc chắn rằng bạn có thể thực hiện nslookup <mysqlclient>TỪ máy chủ MySQL. Nếu điều đó không hoạt động, thì không có mục nào trong máy chủ DNS. Ngoài ra, bạn có thể đặt một mục trong tệp HOSTS của máy chủ MySQL ( <ipaddress> <fullyqualifiedhostname> <hostname><- Thứ tự ở đây có thể có vấn đề).

Một mục trong tệp máy chủ của máy chủ của tôi cho phép tra cứu ngược lại máy khách MySQL đã giải quyết vấn đề này.


1
"là một câu trả lời từ máy chủ MySQL cho máy khách MySQL." Cảm ơn bạn, tôi đã tự hỏi lỗi đến từ đâu, máy của tôi hoặc máy chủ. Tôi có lỗi "LRI 1130 (HY000):" v.v.
PJ Brunet

20

Cách đơn giản:

Grant All Privileges ON *.* to 'USER_NAME'@'%' Identified By 'YOUR_PASSWORD'; 

sau đó

FLUSH PRIVILEGES;

làm xong!


% biểu thị điều gì?
dataviews

1
nó giống như mọi thứ Bạn có thể ví dụ như: WHERE CustomerName LIKE 'a%'- Tìm bất kỳ giá trị nào bắt đầu bằng "a"
user5510975

16

Nếu bạn sửa đổi các bảng cấp bằng tay (sử dụng INSERT, UPDATE, v.v.), bạn nên thực thi một FLUSH PRIVILEGES câu lệnh để báo cho máy chủ tải lại các bảng cấp.

PS: Tôi không khuyên bạn nên cho phép bất kỳ máy chủ nào kết nối cho bất kỳ người dùng nào (đặc biệt là không rootsử dụng). Nếu bạn đang sử dụng mysql cho ứng dụng khách / máy chủ, hãy chọn địa chỉ mạng con. Nếu bạn đang sử dụng mysql với máy chủ web hoặc máy chủ ứng dụng, hãy sử dụng các IP cụ thể.


4

Chỉ cần sử dụng giao diện được cung cấp bởi Công cụ GUI của MySql (SQLyog):

Nhấp vào Trình quản lý người dùng: nhập mô tả hình ảnh ở đây

Bây giờ, nếu bạn muốn cấp quyền truy cập CHO MỌI PC KHÁM PHÁ, chỉ cần đảm bảo rằng, giống như trong hình bên dưới, giá trị trường Máy chủ là% (là ký tự đại diện)

nhập mô tả hình ảnh ở đây


4

Hầu hết các câu trả lời ở đây cho thấy bạn tạo người dùng với hai giá trị máy chủ: một cho localhostvà một cho %.

Xin lưu ý rằng ngoại trừ người dùng localhost tích hợp như root, bạn không cần phải làm điều này. Nếu bạn chỉ muốn tạo một người dùng mới có thể đăng nhập từ bất cứ đâu, bạn có thể sử dụng

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT <whatever privileges are appropriate> ON <relevant tables> TO myuser;

và nó sẽ hoạt động tốt (Như những người khác đã đề cập, việc cấp đặc quyền quản trị cho người dùng từ bất kỳ miền nào là một ý tưởng khủng khiếp.)


3

Cách đơn giản là đăng nhập vào phpmyadmin bằng tài khoản root, có cơ sở dữ liệu goto mysql và chọn bảng người dùng, có chỉnh sửa tài khoản root và trong trường máy chủ thêm% thẻ hoang dã. và sau đó thông qua các đặc quyền tuôn ra ssh

 FLUSH PRIVILEGES;

Điều này đã giúp tôi kết hợp với điều này: GRANT ALL PRIVILEGES ON . ĐẾN 'root' @ '%' VỚI TÙY CHỌN TỐT;
Lanklaas

2

Nếu đây là bản cài đặt mysql gần đây, thì trước khi thay đổi bất cứ thứ gì khác, hãy thử đơn giản thực hiện lệnh này và sau đó thử lại:

flush privileges;

Điều này một mình khắc phục sự cố cho tôi trên Ubuntu 16.04, mysql 5.7.20. YMMV.


2

Chỉ cần tìm một cách tốt hơn để làm điều đó từ bảng điều khiển lưu trữ của bạn (Tôi đang sử dụng DirectAdmin tại đây)

chỉ cần truy cập DB máy chủ đích trong bảng điều khiển của bạn, trong trường hợp của tôi: Quản lý MySQL -> chọn DB của bạn -> bạn sẽ tìm thấy: "Máy chủ truy cập", chỉ cần thêm máy chủ từ xa của bạn vào đây và nó hoạt động ngay bây giờ! nhập mô tả hình ảnh ở đây

Tôi đoán có một tùy chọn tương tự trên các C.panels khác như plesk, v.v.

Tôi hy vọng nó cũng hữu ích cho bạn.


2

Vâng, không có gì của câu trả lời trên làm việc cho tôi. Sau rất nhiều nghiên cứu, tôi tìm thấy một giải pháp. Mặc dù tôi có thể bị trễ nhưng điều này có thể giúp đỡ người khác trong tương lai.

Đăng nhập vào máy chủ SQL của bạn từ một thiết bị đầu cuối

 mysql -u root -p
 -- root password
GRANT ALL ON *.* to root@'XX.XXX.XXX.XX' IDENTIFIED BY 'password';

Điều này sẽ giải quyết vấn đề cho phép.

Trước khi giải quyết lỗi

Sau khi giải quyết vấn đề

Chúc mừng mã hóa !!


1

Vâng, những gì bạn có thể làm chỉ là mở tệp mysql.cfg và bạn phải thay đổi địa chỉ Bind thành địa chỉ này

địa chỉ liên kết = 127.0.0.1

và sau đó Khởi động lại mysql và bạn sẽ có thể kết nối máy chủ đó với máy chủ này.

Nhìn này bạn có thể có mẫu ý tưởng đó.

đây là sol thật


3
Điều này có liên quan, nhưng không phải là vấn đề tương tự. Lỗi nhận được ban đầu cho thấy máy khách đang kết nối với máy chủ MySQL thành công, nhưng sau đó không xác thực được. Nếu địa chỉ liên kết được đặt thành 127.0.0.1, thay vào đó bạn sẽ nhận được lỗi từ chối kết nối.
sợi trục

Nhưng đây là địa chỉ nào sẽ cho phép tất cả Máy chủ được kết nối với máy chủ na?
Kishan Bheemajiyani

Nhưng Cấp tất cả quyền cho người dùng sẽ không phải là lựa chọn khôn ngoan cho bcoz đó nếu bạn có người dùng máy khách và bạn không được phép tạo người dùng với tất cả quyền thì Giải pháp sẽ là gì?
Kishan Bheemajiyani

1

Nếu bạn tình cờ đang chạy trên Windows; Một giải pháp đơn giản là chạy thuật sĩ cấu hình cá thể máy chủ MySQL. Nó nằm trong nhóm MYSQL của bạn trong menu bắt đầu. Trên màn hình thứ hai từ màn hình cuối cùng, nhấp vào ô "cho phép truy cập root từ các máy từ xa".


1

Nếu bạn có WAMP Server + Windows 10 và bạn đang sử dụng nó để phát triển hơn Nhấp chuột phải vào Biểu tượng Wamp => Wamp Settings=>Check Allow Virtual Hosts other than 127* nhập mô tả hình ảnh ở đây


0

Tôi cũng đã đối mặt với vấn đề tương tự. Tôi đã giải quyết nó trong 2 phút đối với tôi Tôi chỉ liệt kê danh sách trắng qua cpanel

Giả sử bạn đang cố gắng kết nối cơ sở dữ liệu của máy chủ B từ máy chủ A. Chuyển đến Máy chủ B Cpanel-> Remote MySQL-> nhập Địa chỉ IP của máy chủ và đó là địa chỉ đó.


0

Câu trả lời này có thể giúp ai đó ...

Tất cả những câu trả lời này không giúp được gì, sau đó tôi nhận ra rằng tôi đã quên kiểm tra một điều cốt yếu .. Cổng :)

Tôi có mysql chạy trong một container docker chạy trên một cổng khác. Tôi đã chỉ vào máy chủ của tôi trên cổng 3306, nơi tôi có một máy chủ mysql đang chạy. Container của tôi lộ máy chủ trên cổng 33060. Vì vậy, tất cả thời gian này, tôi đã nhìn nhầm máy chủ! doh!


0
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

lỗi này vì không có mật khẩu cho root và điều này có thể xảy ra với bạn khi bạn cố gắng kết nối từ bên ngoài.


0

Giải pháp CPANEL

Truy cập Cpanel, tìm kiếm MySQL từ xa. Thêm IP trong trường đầu vào:

Máy chủ (% ký tự đại diện được cho phép)

Nhận xét để nhớ IP đó là gì. Đó là nó cho tôi.


0

Điều này làm việc cho bất kỳ kết nối mysql từ xa trong tương lai!

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

Điều hướng đến dòng bắt đầu bằng chỉ thị địa chỉ liên kết. Nó sẽ giống như thế này:

    bind-address            = 0.0.0.0

Đăng nhập vào mysql của bạn như là thiết bị đầu cuối gốc

    mysql -u root -p
    -- root password

    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

    GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

    CREATE USER 'username'@'%' IDENTIFIED BY 'password';

    GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

    FLUSH PRIVILEGES;

    EXIT;

cuối cùng Cấp quyền cho máy đó để kết nối với cơ sở dữ liệu từ xa bằng lệnh sau.

    sudo ufw allow from remote_IP_address to any port 3306

-1

Nếu người nào đó gặp phải vấn đề này gặp phải sự cố từ bên trong SQLyog, điều này đã xảy ra:

Tôi đã kết nối với cơ sở dữ liệu từ xa (từ bên trong SQLyog) và làm việc trong một vài giờ. Sau đó tôi rời khỏi hệ thống trong vài phút, sau đó quay lại để tiếp tục công việc của mình - LRI 1130 ! Không có gì tôi đã cố gắng làm việc; Khởi động lại SQLyog đã không sửa nó. Sau đó, tôi khởi động lại hệ thống - nó vẫn không hoạt động.

Vì vậy, tôi đã thử kết nối từ thiết bị đầu cuối - nó hoạt động. Sau đó thử lại nó trên SQLyog ... và nó đã hoạt động. Tôi không thể giải thích điều đó ngoài 'sự khó chịu của máy tính ngẫu nhiên', nhưng tôi nghĩ nó có thể giúp được ai đó.


-1

nếu bạn đang cố gắng thực hiện truy vấn mysql với xác định chuỗi kết nối, bạn sẽ gặp lỗi này.

Có lẽ bạn tha thứ để xác định chuỗi kết nối trước khi thực hiện. bạn đã kiểm tra cái này chưa? (xin lỗi về tiếng Anh kém)


-1

Vấn đề: root @ localhost không thể kết nối với bản cài đặt mới của mysql-Community-server trên openSUSE 42.2-1.150.x86_64. Mysql từ chối kết nối - thời gian.

Giải pháp:

$ ls -l /var/lib/mysql/mysql/user.*
-rw-rw---- 1 mysql mysql     0 Apr 29 19:44 /var/lib/mysql/mysql/user.MYD
-rw-rw---- 1 mysql mysql  1024 Apr 29 19:44 /var/lib/mysql/mysql/user.MYI
-rw-rw---- 1 mysql mysql 10684 Apr 29 19:44 /var/lib/mysql/mysql/user.frm

Tệp người dùng.MYD có kích thước 0 (thực sự?!). Tôi đã sao chép cả 3 tập tin từ một hệ thống làm việc khác.

$ /usr/sbin/rcmysql stop
$ cd /var/lib/mysql/mysql/
$ scp root@othersytem:/var/lib/mysql/mysql/user.* ./
$ /usr/sbin/rcmysql start
$ cd -
$ mysql -u root -p

Tôi đã có thể đăng nhập. Sau đó, đó chỉ là vấn đề áp dụng lại tất cả các đặc quyền lược đồ. Ngoài ra, nếu bạn đã tắt IPv6, hãy bật lại tạm thời để tài khoản root @ :: 1 cũng có thể hoạt động.


-1

Điều này làm việc cho DirectAdmin ;

  1. Đi đến của bạn DirectAdmin.
  2. Đi đến của bạn MySQL Management.
  3. Chọn của bạn database.
  4. Dưới Accesse Hosttab của bạn , có một lĩnh vực. Bạn nên điền vào lĩnh vực này bằng cách xxx.xx.xxx.xx.
  5. Bấm vào Add Host.

Đã kết thúc. Bây giờ bạn có thể truy cập DB này bằng your_database_username& your_database_password.
Quá đơn giản!


-3

Tất cả các câu trả lời ở đây không hoạt động trong trường hợp của tôi vì vậy tôi mời khách này có thể giúp những người dùng khác trong tương lai. Đây cũng có thể là một vấn đề trong mã của chúng tôi, không chỉ riêng ở MySQL.

Nếu bạn đang sử dụng VB.NET

Thay vì mã này:

 Dim server As String = My.Settings.DB_Server
 Dim username As String = My.Settings.DB_Username
 Dim password As String = My.Settings.DB_Password
 Dim database As String = My.Settings.DB_Database

 MysqlConn.ConnectionString = "server=" & server & ";" _
 & "user id=" & username & ";" _
 & "password=" & password & ";" _
 & "database=" & database

 MysqlConn = New MySqlConnection()

Bạn cần di chuyển MysqlConn = New MySqlConnection()trên dòng đầu tiên. Vì vậy, nó sẽ như thế này

 MysqlConn = New MySqlConnection()

 Dim server As String = My.Settings.DB_Server
 Dim username As String = My.Settings.DB_Username
 Dim password As String = My.Settings.DB_Password
 Dim database As String = My.Settings.DB_Database

 MysqlConn.ConnectionString = "server=" & server & ";" _
 & "user id=" & username & ";" _
 & "password=" & password & ";" _
 & "database=" & database
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.