# Linux/Mac
sudo service mysql status
# 或
sudo systemctl status mysql
# Windows
检查服务列表中的MySQL服务是否已启动
如果服务未运行:
# Linux/Mac
sudo service mysql start
# 或
sudo systemctl start mysql
# Windows
在服务管理器中启动MySQL服务
mysql -u root -p
sudo mysqld_safe --skip-grant-tables &
mysql -u root
然后在MySQL中执行:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
exit;
SELECT User, Host FROM mysql.user;
确保有'root'@'localhost'
或'your_user'@'localhost'
记录
如果没有,创建用户:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
查看my.cnf
或my.ini
文件:
[mysqld]
bind-address = 127.0.0.1
确保不是0.0.0.0
或注释掉这一行
# Linux
sudo ufw status
sudo ufw allow mysql
# Windows
检查防火墙是否阻止了MySQL端口(默认3306)
mysqladmin variables | grep socket
确保连接时指定正确的socket文件:
mysql -u root -p --socket=/var/run/mysqld/mysqld.sock
# 通常位置
/var/log/mysql/error.log
/var/log/mysqld.log
查看具体错误信息
my.cnf
或my.ini
语法成功连接后应能看到MySQL提示符:
mysql>
如果问题仍未解决,请提供具体的错误信息以便进一步诊断。