Рейтинг:0

Подключиться к установленной базе данных mysql

флаг in

Я установил на свой сервер приложений mysql mysql версии 8.0.23-0ubuntu0.20.04.1 для Linux на x86_64 ((Ubuntu)). Моя операционная система на моем VPS Убунту 20.04.1 ЛТС.

Чтобы управлять этой базой данных, я подключаюсь локально через SSH к серверу и ЗАТЕМ получаю доступ к базе данных.

Однако для таких сервисов, как студия данных Google, требуется URL-адрес jdbc или имя хоста базы данных.

введите описание изображения здесь

Я попробовал IP-адрес своих серверов в качестве имени хоста, а затем использовал правильный порт, имя пользователя, pwd. Однако я получаю:

введите описание изображения здесь

Я думаю, что мое имя хоста неверно, так как оно локально на сервере локальный хост а не IP сервера.

Любые предложения, как подключиться к базе данных или найти правильное имя хоста?

Я ценю ваши ответы!

Обновлять

Бег сс-нлп Я получил:

root@myVPS:~# sudo ss -nlp | grep mysql
u_str LISTEN 0 70 /var/run/mysqld/mysqlx.sock 190906736 * 0 пользователей:(("mysqld",pid=1668517,fd=33))                                           
u_str LISTEN 0 151 /var/run/mysqld/mysqld.sock 190906739 * 0 пользователей:(("mysqld",pid=1668517,fd=36))                                           
u_dgr UNCONN 0 0 * 190906575 * 12685 пользователей:(("mysqld",pid=1668517,fd=3))                                            
TCP LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* пользователи:(("mysqld",pid=1668517,fd=32))                                           
tcp LISTEN 0 151 *:3306 *:* пользователи:(("mysqld",pid=1668517,fd=34))                                           

Рейтинг:2
флаг 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.

флаг in
Спасибо за ваш ответ! Однако студии данных Google требуется имя хоста для сервера mysql. если я попробую «127.0.0.1:33060», я не могу подключиться, так как это на другом сервере, а не на сервере Google. Есть ли способ «улучшить» мою текущую установку mysql с помощью возможностей сервера?
флаг ws
Да, но вы выходите за рамки своего вопроса здесь. Я считаю *очень* исключительным, что Google Data Studio не примет `127.0.0.1` в качестве имени хоста (порт должен быть введен в отдельное поле), но было бы тривиально подделать другой псевдоним в файле hosts (поскольку это Linux, а не хост MS-Windows). После того, как вы разобрались с этим, поищите в Google «mysql bind_address», чтобы узнать, как выставить службу в сети.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.