Điểm:0

Kết nối với một mysql db đã cài đặt

lá cờ in

Tôi đã cài đặt mysql trên máy chủ ứng dụng của mình mysql Ver 8.0.23-0ubuntu0.20.04.1 dành cho Linux trên x86_64 ((Ubuntu)). Hệ điều hành của tôi trên VPS của tôi là Ubuntu 20.04.1 LTS.

Để quản lý cơ sở dữ liệu này, tôi kết nối cục bộ qua SSH với máy chủ và SAU ĐÓ truy cập cơ sở dữ liệu.

Tuy nhiên, các dịch vụ như google data studio cần có url jdbc hoặc tên máy chủ cơ sở dữ liệu.

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

Tôi đã thử IP máy chủ của mình làm tên máy chủ và sau đó sử dụng đúng cổng, tên người dùng, pwd. Tuy nhiên, tôi nhận được:

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

Tôi nghĩ rằng tên máy chủ của tôi bị sai vì nó nằm cục bộ trên máy chủ máy chủ cục bộ chứ không phải IP của máy chủ.

Bạn có đề xuất nào về cách kết nối với cơ sở dữ liệu hoặc tìm đúng tên máy chủ không?

Tôi đánh giá cao câu trả lời của bạn!

Cập nhật

Đang chạy ss -nlp Tôi có:

root@myVPS:~# Sudo ss -nlp | grep mysql
u_str NGHE 0 70 /var/run/mysqld/mysqlx.sock 190906736 * 0 người dùng:(("mysqld",pid=1668517,fd=33))                                           
u_str NGHE 0 151 /var/run/mysqld/mysqld.sock 190906739 * 0 người dùng:(("mysqld",pid=1668517,fd=36))                                           
u_dgr UNCONN 0 0 * 190906575 * 12685 người dùng:(("mysqld",pid=1668517,fd=3))                                            
tcp LẮNG NGHE 0 70 127.0.0.1:33060 0.0.0.0:* người dùng:(("mysqld",pid=1668517,fd=32))                                           
tcp LẮNG NGHE 0 151 *:3306 *:* người dùng:(("mysqld",pid=1668517,fd=34))                                           

Điểm:2
lá cờ ws

(Mysql on Ubuntu? I thought this had been replaced in the repos with Mariadb).

You'll notice that you are being asked for a username and password. Did you create one in MySQL? Did you create a database to use? This can seem like a chicken and egg problem (it is). You should start by creating a database aand a user to access it.

I believe the default build of MySQL currently uses so_peer authentication, so you can connect as root without a password using the mysql cli tool:

user@host ~$ sudo mysql
...
mysql > CREATE USER `testuser`@`localhost` IDENTIFIED BY 's3cr3t';
mysql > CREATE USER `testuser`@`%` IDENTIFIED BY 's3cr3t';
mysql > CREATE DATABASE example1;
mysql > GRANT ALL ON example1.* TO `testuser`@`localhost`;
mysql > GRANT ALL ON example1.* TO `testuser`@`%`;
mysql > FLUSH PRIVILEGES;
mysql > quit

In the context above '%' means any IP address. MySQL attaches a special meaning to 'localhost'. It DOES NOT describe the loopback network interface - it means the access is via a filesystem socket. This can cause a lot of confusion.

Usually MySQL comes configured to listen on the filesystem socket and sometimes the loopback interface. You can check this (and indeed if the mysql service is running at all with....

user@host ~$ sudo ss-nlp | grep mysql
u_str  LISTEN     0      128    /var/run/mysqld/mysqld.sock 842576                * 0                   users:(("mysqld",pid=16463,fd=20))
tcp    LISTEN     0      128    127.0.0.1:3306                  *:*

Here I can see that the server is using the filesystem socket at /var/run/mysqld/mysqld.sock and port 3306 on the loopback interface.

The dialog you've shown us above does not obviously accomodate a filesystem socket - so you'll need to use the loopback interface. In order to connect to the network socket, you MUST tell the mysql client the host is at "127.0.0.1", not localhost.

lá cờ in
Thx cho câu trả lời của bạn! Tuy nhiên, google data studio cần tên máy chủ cho máy chủ mysql. nếu tôi thử `127.0.0.1:33060` thì tôi không thể kết nối như thế này trên một máy chủ khác chứ không phải trên máy chủ google. Có cách nào để "nâng cao" cài đặt mysql hiện tại của tôi với khả năng của máy chủ không?
lá cờ ws
Có - nhưng bạn đang vượt ra ngoài phạm vi câu hỏi của mình ở đây. Tôi thấy *rất* đặc biệt là Google Data Studio sẽ không chấp nhận `127.0.0.1` làm tên máy chủ (cổng phải được nhập vào một trường riêng biệt) nhưng việc giả mạo một bí danh khác trong tệp máy chủ (vì đây là Linux, không phải máy chủ MS-Windows). Khi bạn đã sắp xếp xong, hãy truy cập google cho "mysql bind_address" để tìm hiểu cách hiển thị dịch vụ trên mạng.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.