WSL2 Ubuntu 20.04安装MySQL遇权限及连接问题求助
解决WSL2 Ubuntu 20.04下MySQL启动与登录报错问题
第一步:确认MySQL服务是否真的正常运行
先检查服务状态,避免假启动:
sudo service mysql status
如果显示inactive或启动失败,查看错误日志定位原因:
# 查看系统日志 journalctl -u mysql # 或者查看MySQL自身日志 cat /var/log/mysql/error.log
第二步:修复MySQL socket目录权限(常见启动失败原因)
WSL环境下/var/run/mysqld目录常因权限或缺失导致服务启动异常:
- 停止服务:
sudo service mysql stop
- 创建并设置目录权限:
sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld
- 重新启动服务:
sudo service mysql start
再次用status命令确认服务显示active (running)。
第三步:修复root用户登录权限问题
Ubuntu 20.04默认安装的MySQL中,root用户采用auth_socket认证(无需密码但必须用sudo登录),导致mysql_secure_installation报错:
- 用sudo直接登录MySQL:
sudo mysql -u root
- 切换到mysql系统库:
USE mysql;
- 修改root用户的认证方式为密码认证,并设置密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的自定义密码';
- 刷新权限:
FLUSH PRIVILEGES;
- 退出MySQL:
EXIT;
第四步:重新执行安全配置脚本
现在可以正常运行:
sudo mysql_secure_installation
按照提示完成密码确认、匿名用户删除、远程登录限制等配置即可。
极端情况:彻底重装MySQL
如果上述步骤无效,可能是安装残留导致的问题,彻底清理后重装:
- 停止服务并卸载所有MySQL相关包:
sudo service mysql stop sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
- 删除残留配置和数据文件:
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
- 更新源并重新安装:
sudo apt update && sudo apt install mysql-server
安装完成后重复第二步和第三步的操作。
内容的提问来源于stack exchange,提问作者Sir Broccolia
相关产品推荐
相关产品推荐

