如何查看mysql 默认端口号和修改端口号

本文详细介绍了如何在Linux环境下修改MySQL服务器的默认端口。通过编辑配置文件my.cnf,将端口从3306更改为3506,并重启服务使更改生效。文章包含登录MySQL、查看当前端口、编辑配置文件、重启服务及验证端口修改的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 登录mysql  

[root@test /]# mysql -u root -p  
Enter password:  

2. 使用命令show global variables like 'port';查看端口号  

mysql> show global variables like 'port';  
+---------------+-------+  
| Variable_name | Value |  
+---------------+-------+  
| port | 3306 |  
+---------------+-------+  
1 row in set (0.00 sec)  

3. 修改端口,编辑/etc/my.cnf文件。  

[root@test etc]# vi my.cnf  
[mysqld]  
port=3506  
datadir=/var/lib/mysql  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
# Disabling symbolic-links is recommended to prevent assorted security risks  
symbolic-links=0  

[mysqld_safe]  
log-error=/var/log/mysqld.log  
pid-file=/var/run/mysqld/mysqld.pid  

"my.cnf" 11L, 261C written  
[root@test etc]#  

4. 重新启动mysql  

[root@test ~]# /etc/init.d/mysqld restart  或 service mysql restart
Stopping mysqld: [ OK ]  
Starting mysqld: [ OK ]  

5.再次登录后检查端口已修改为’3506’.  

[root@test etc]# mysql -u root -p  
Enter password:  

mysql> show global variables like 'port';  
+---------------+-------+  
| Variable_name | Value |  
+---------------+-------+  
| port | 3506 |  
+---------------+-------+  
1 row in set (0.00 sec)  

### 查看本地 MySQL 服务器的端口号 对于运行中的 MySQL 实例,可以通过执行 SQL 命令来获取当前使用的端口号: ```sql SHOW GLOBAL VARIABLES LIKE 'port'; ``` 这条命令会返回一个结果集,其中包含 `Variable_name` `Value` 列。`Variable_name` 应该显示为 `port`,而对应的 `Value` 就是 MySQL 正在监听的 TCP/IP 端口号码[^1]。 如果想要通过操作系统层面验证这个端口是否被占用或者确认服务状态,在 Windows 上可以利用命令提示符输入如下指令: ```cmd netstat -an | findstr :<your_port_number> ``` 这里的 `<your_port_number>` 需要替换为你从上面查询到的具体数值。此方法可以帮助进一步核实 MySQL 是否确实在指定端口上工作正常[^2]。 另外一种方式是在命令行工具中使用 mysqladmin 工具加上 `-h` 参数指向 localhost 或者 IP 地址以及提供有效的用户名密码组合来进行连接测试并打印版本信息的同时也会显示出所连上的实例正在使用的端口。 #### 使用 Python 脚本自动检测 MySQL 端口 (可选) 为了更方便地自动化这一过程,下面给出一段简单的 Python 代码用于尝试连接默认配置下的 MySQL 数据库,并捕获其实际使用的端口: ```python import pymysql try: connection = pymysql.connect( host='localhost', user='root', # 替换成具有适当权限的实际账户名 password='', # 输入相应的密码 cursorclass=pymysql.cursors.DictCursor, port=3306 # 这里假设默认端口为 3306;如果不是,则更改此处设置 ) with connection.cursor() as cursor: sql_query = "SHOW GLOBAL VARIABLES WHERE Variable_Name = 'port'" cursor.execute(sql_query) result = cursor.fetchone() except Exception as e: print(f"Error connecting to the database: {e}") else: if result is not None and isinstance(result, dict): actual_port = result.get('Value') print(f"MySQL server is running on port: {actual_port}") finally: try: connection.close() except NameError: pass ``` 这段脚本试图建立与 MySQL 的连接,并读取全局变量表以确定确切的服务端口。请注意调整数据库凭证部分以便成功登录目标实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值