AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1088329
Accepted
Carol.Kar
Carol.Kar
Asked: 2021-12-28 12:22:02 +0800 CST2021-12-28 12:22:02 +0800 CST 2021-12-28 12:22:02 +0800 CST

连接到已安装的 mysql 数据库

  • 772

我已经在我的应用程序服务器上安装了 mysql mysql Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))。我的 VPS 上的操作系统是Ubuntu 20.04.1 LTS.

为了管理这个数据库,我通过 SSH 在本地连接到服务器,然后访问数据库。

但是,诸如 google data studio 之类的服务需要 jdbc url 或数据库主机名。

在此处输入图像描述

我尝试将我的服务器 IP 作为主机名,然后使用正确的端口、用户名、密码。但是,我得到:

在此处输入图像描述

我认为我的主机名是错误的,因为它在服务器本地localhost而不是服务器的 IP。

有什么建议如何连接到数据库或找到正确的主机名?

感谢您的回复!

更新

运行ss -nlp我得到:

root@myVPS:~# sudo ss -nlp | grep mysql
u_str   LISTEN   0        70                        /var/run/mysqld/mysqlx.sock 190906736                                               * 0                      users:(("mysqld",pid=1668517,fd=33))                                           
u_str   LISTEN   0        151                       /var/run/mysqld/mysqld.sock 190906739                                               * 0                      users:(("mysqld",pid=1668517,fd=36))                                           
u_dgr   UNCONN   0        0                                                   * 190906575                                               * 12685                  users:(("mysqld",pid=1668517,fd=3))                                            
tcp     LISTEN   0        70                                          127.0.0.1:33060                                             0.0.0.0:*                      users:(("mysqld",pid=1668517,fd=32))                                           
tcp     LISTEN   0        151                                                 *:3306                                                    *:*                      users:(("mysqld",pid=1668517,fd=34))                                           

mysql database
  • 1 1 个回答
  • 87 Views

1 个回答

  • Voted
  1. Best Answer
    symcbean
    2021-12-28T13:21:24+08:002021-12-28T13:21:24+08:00

    (Ubuntu上的Mysql?我认为这已经在repos中被Mariadb替换了)。

    您会注意到系统要求您输入用户名和密码。您是否在 MySQL 中创建了一个?您是否创建了要使用的数据库?这看起来像是鸡与蛋的问题(确实如此)。您应该首先创建一个数据库和一个访问它的用户。

    我相信 MySQL 的默认构建当前使用 so_peer 身份验证,因此您可以使用 mysql cli 工具以 root 身份连接而无需密码:

    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
    

    在上面的上下文中,'%' 表示任何 IP 地址。MySQL 为 'localhost' 赋予了特殊含义。它没有描述环回网络接口——这意味着访问是通过文件系统套接字进行的。这会引起很多混乱。

    通常 MySQL 配置为侦听文件系统套接字,有时还侦听环回接口。你可以检查一下(事实上如果mysql服务正在运行......

    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                  *:*
    

    在这里,我可以看到服务器正在使用 /var/run/mysqld/mysqld.sock 处的文件系统套接字和环回接口上的端口 3306。

    您在上面向我们展示的对话框显然不适合文件系统套接字 - 因此您需要使用环回接口。为了连接到网络套接字,您必须告诉 mysql 客户端主机位于“127.0.0.1”,而不是 localhost。

    • 2

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve