如何查找MySQL的URL、主机、端口和用户名?

172

我需要找到MySQL用户名。当我打开MySQL命令行客户端时,它只要求我输入密码。我不记得我的用户名。并且对于与JDBC的连接,我需要URL、主机和端口号。我在哪里可以找到这些信息?

12个回答

264

如果您已经登录到命令行客户端,请尝试以下操作:

mysql> select user();

它将输出类似于以下内容:

+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.41 sec)

在我上面的示例中,我是以root身份从localhost登录的。

要查找端口号和其他有趣的设置,请使用此命令:

mysql> show variables;

2
我收到了“ERROR 1146 (42S02):表'performance_schema.session_variables'不存在”的错误信息。 - Mark A

173

如果你想知道运行Mysql的本地主机的端口号,你可以在MySQL命令行客户端上使用这个查询 --

SHOW VARIABLES WHERE Variable_name = 'port';


mysql> SHOW VARIABLES WHERE Variable_name = 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

这将会给你MySQL运行的端口号。


如果你想要知道你的MySQL主机名,你可以在MySQL命令行客户端使用这个查询语句 --

SHOW VARIABLES WHERE Variable_name = 'hostname';


mysql> SHOW VARIABLES WHERE Variable_name = 'hostname';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| hostname          | Dell  |
+-------------------+-------+
1 row in set (0.00 sec)

它将为您提供MySQL的主机名。


如果您想知道您的Mysql用户名,您可以在MySQL命令行客户端上使用此查询--

select user();   


mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

它将为您提供mysql的用户名。


4
我怎样才能获取IP地址?我的意思是,对于上面的例子中有一个“DELL”主机名,我能否获取IP地址而不是名称? - Ozan
错误 1146 (42S02): 表 'performance_schema.session_variables' 不存在。 - m02ph3u5

33
例如,你可以尝试:
//If you want to get user, you need start query in your mysql:
SELECT user(); // output your user: root@localhost
SELECT system_user(); // --

//If you want to get port your "mysql://user:pass@hostname:port/db"
SELECT @@port; //3306 is default

//If you want hostname your db, you can execute query
SELECT @@hostname;

1
请添加一些解释。您的答案当前被标记为“低质量”,可能会被删除。 - Johannes Jander

24

如果您不知道准确的变量名称,请使用like,因为结果可能会包含500多行:

mysql> show variables like "%port%";

13

如果使用MySQL Workbench,只需在侧边栏中的信息窗口中查看会话选项卡。

输入图像描述


11
default-username = root
password = you-know-it-better
url for localhost =  jdbc:mysql://localhost
default-port = 3306

5

最简单的方法可能是使用命令status;在输出中,您将找到数据库、用户、主机和端口:

mysql> status;
--------------
mysql  Ver 8.0.13 for Win64 on x86_64 (MySQL Community Server - GPL)

Connection id:          43
Current database:       mysql
Current user:           user@localhost
SSL:                    Cipher in use is DHE-RSA-AES128-GCM-SHA256
Using delimiter:        ;
Server version:         8.0.13 MySQL Community Server - GPL
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    cp852
Conn.  characterset:    cp852
TCP port:               3306
Uptime:                 3 hours 32 min 40 sec

Threads: 3  Questions: 197  Slow queries: 0  Opens: 214  Flush tables: 2  Open tables: 190  Queries per second avg: 0.015
--------------

4
如果您使用phpMyAdmin,请单击“主页”,然后在顶部菜单中选择“变量”。在页面上查找“端口”设置。它设置的值是您的MySQL服务器正在运行的端口。

3
以下是默认设置:
- default-usernameroot - default-password 为空(即什么都没有) - default-url 对于 Apache 是 localhost127.0.0.1,对于 MySQL 是 localhost/phpmyadmin (如果您使用 xampp/wamp/mamp) - default-port 是 3306

URL长什么样? - Prathamesh More
如果您想访问MySql数据库,请使用http://localhost/phpmyadmin。如果您想访问托管在本地主机上的网页,请使用http://localhost:port/WebPageFolder。 - Inzimam Tariq IT

2
mysql> SHOW VARIABLES WHERE Variable_name = 'hostname';
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| hostname      | karola-pc |
+---------------+-----------+
1 row in set (0.00 sec)

例如,在我的情况下:karola-pc是运行mysql的计算机的主机名。它是我的本地PC主机名。
如果它是远程计算机,您可以直接ping该主机,如果您与该计算机在同一网络中,则应能够ping该主机。
如果是UNIX或Linux,您可以在终端中运行“hostname”命令来检查主机名。如果是Windows,则可以在MyComputer->右键单击->属性->计算机名称中看到相同的值(即系统属性)。
希望这能回答您的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接