无法通过命令连接到mysql数据库

Posted

技术标签:

【中文标题】无法通过命令连接到mysql数据库【英文标题】:Can't connect to mysql database via command 【发布时间】:2018-04-12 19:03:45 【问题描述】:

也许我只是遗漏了一些非常明显的东西,但我无法以某种方式连接到安装在本地计算机上的 mysql 数据库。当我打开 mysql.exe 时,它​​说我已连接到 MariaDB 和一个 ID。但是当我尝试访问某个数据库时,我得到:“ERROR 1044 (42000): Access denied for user ''@'localhost' to database ...”

当我检查状态时,它说我以具有我的计算机名称@localhost 的用户身份连接。

希望有人可以提供帮助。 :)

【问题讨论】:

first' How to connect with command line ? second` 通过命令行连接数据库的正确方法是在xampp上获取mysql->bin的路径并在命令行start in你的路径上复制路径并打开命令行connect with database mysql -u your username -p your password 如果没有密码就不要写东西 我正在使用 C:\xampp\mysql\bin 中的 mysql.exe 这是我得到的:image.ibb.co/mXWe2b/cantlogin.jpg 【参考方案1】:

直接连接到名为 iluminatidb 的示例:

tenasimi@SANTRALSUM-05 c:\xampp
# mysql -u root -p iluminati
Enter password: *
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 806
Server version: 5.6.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.6.24, for Win32 (x86)

Connection id:          806
Current database:       iluminati
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.6.24 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    cp866
Conn.  characterset:    cp866
TCP port:               3306
Uptime:                 1 day 2 hours 4 min 58 sec

Threads: 1  Questions: 2476  Slow queries: 0  Opens: 78  Flush tables: 1  Open
ables: 71  Queries per second avg: 0.026
--------------

mysql> show tables;
+---------------------+
| Tables_in_iluminati |
+---------------------+
| dutypersons         |
| persons             |
| products            |
+---------------------+
3 rows in set (0.00 sec)

mysql> exit;
Bye

【讨论】:

【参考方案2】:

MariaDB 是 MySQL 的“替代品”,因此名称混乱。 (这不是问题,只是混淆。)(MySQL 和 MariaDB 之间存在细微差别,但您离它们还很远。)

当您安装 XAMPP 时,为 MariaDB 建立了一个名为“root”的用户。也许它要求输入密码?如果您还没有GRANTed 任何其他“用户”访问数据库,那么“root”就是要使用的“用户”。

命令行工具mysql 也应该可用。但它也需要有效的用户名和密码:

mysql -u root      -- if no password
mysql -u root -p   -- it will then prompt for the password

如果您从另一台机器连接,则需要更多参数并且需要通过GRANT 语句的@... 部分从该机器获得GRANTed 访问权限。 p>

【讨论】:

【参考方案3】:

我猜 xampp 会以某种方式阻止使用 mysql.exe 进行登录或其他用途。当我从 xampp 控制面板使用 shell 时,一切正常。但我不确定。

【讨论】:

以上是关于无法通过命令连接到mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 DataGrip 应用程序连接到 MySQL docker 实例

无法通过DataGrip应用程序连接到MySQL docker实例

无法使用 MySQL 连接器/ODBC 将 Access DB 连接到 ODBC DSN

无法通过 Workbench 连接到 RDS MySQL 数据库

无法从 SQL WORKBENCH 连接到 AWS RDS mysql

VB.Net 应用程序无法连接到本地 MySQL,但我可以从命令连接