# 检查MySQL服务状态
sudo service mysql status
# 如果未运行,启动服务
sudo service mysql start
# 尝试使用root用户登录
mysql -u root -p
# 如果忘记root密码,可以重置:
sudo mysqld_safe --skip-grant-tables &
mysql -u root
# 然后在MySQL中执行:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
# 检查MySQL套接字文件位置
sudo find / -type s -name "mysql.sock"
# 如果找不到或路径不对,可以指定套接字文件路径
mysql -u username -p --socket=/var/run/mysqld/mysqld.sock
# 检查MySQL是否监听正确端口(默认3306)
netstat -tulnp | grep mysql
# 如果使用非标准端口,连接时需要指定
mysql -u username -p -P 3307
# 检查MySQL配置文件中的绑定地址
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# 确保有或注释掉 bind-address
# bind-address = 127.0.0.1 或 0.0.0.0
# 检查防火墙设置
sudo ufw status
# 如果启用,确保允许MySQL端口
sudo ufw allow 3306
sudo tail -n 50 /var/log/mysql/error.log
mysql -u username -p -h 127.0.0.1
SELECT User, Host FROM mysql.user;
sudo apt-get install --reinstall mysql-server
如果以上方法都不能解决问题,请提供具体的错误信息以便进一步诊断。