Laragon手动安装MySQL8.0.26后无法连接、端口为0如何解决
端口显示为0的原因
- 你的my.ini配置文件缺失
[mysqld]段头,你写在最前面的MySQL服务参数没有被正确读取,没有配置默认的3306监听端口 - 你执行重置密码命令时加了
--skip-networking参数,该参数会禁用MySQL的TCP/IP连接能力,服务不会监听任何TCP端口,因此日志中会显示port=0 - Windows系统下运行MySQL要求至少启用TCP/IP、共享内存、命名管道三种连接方式中的一种,你禁用了TCP/IP又没有配置另外两种连接方式,导致服务启动后直接异常中止,也是你所有连接、修改密码操作全部失败的核心原因。
修复步骤
1. 修正my.ini配置
端口配置需要写在my.ini的[mysqld]段下,在你现有的my.ini文件最顶部添加[mysqld]段头,同时补充端口、连接方式相关配置,修改后的完整配置参考:
[mysqld] port=3306 # 开启TCP/IP连接,不要加skip-networking参数 enable-named-pipe shared-memory myisam_sort_buffer_size=64M thread_cache_size=8 # 先注释掉跳过授权表,初始化完成后有需要再临时开启 # skip-grant-tables=1 secure-file-priv="" explicit_defaults_for_timestamp=1 datadir= "D:/laragon_new/data/mysql-8" default_authentication_plugin=mysql_native_password [mysqldump] quick max_allowed_packet=512M [mysql] user=root password=
2. 修复损坏的数据库文件
日志中出现InnoDB断言错误,说明你之前的异常启动已经损坏了数据目录文件,如果你是新安装没有历史数据,直接清空D:/laragon_new/data/mysql-8目录下的所有内容,执行初始化命令生成干净的初始数据:
mysqld --initialize-insecure --user=mysql
该命令会初始化一个无密码的root账户,解决你不知道初始密码的问题。
3. 正常启动MySQL服务
优先通过Laragon面板启动MySQL,也可以手动注册服务后启动:
# 注册MySQL系统服务 mysqld --install # 启动服务 net start mysql
4. 重置root密码
服务启动成功后执行以下命令登录并修改密码:
mysql -u root
进入MySQL命令行后执行密码修改语句:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的自定义密码'; FLUSH PRIVILEGES;
修改完成后再把my.ini中[mysql]段下的password参数值改成你设置的密码即可。
内容的提问来源于stack exchange,提问作者B L Praveen
相关产品推荐
相关产品推荐

