如果本机可以连接,别的电脑无法访问时
可以先检查MySQL端口(默认为:3306)是否被防火墙拦截,简单的办法是关闭防火墙和杀毒软件等应用来判断。
如果还没能访问的话,那就用本机客户端工具连接,查看mysql库中user表,这是系统中的连接用户的表。查看有没有root@%的用户,%代表任意的其他电脑。如果没有这个用户,那么先创建这个用户:
# 创建密码为123456的root@%用户
CREATE USER 'root'@'%' IDENTIFIED BY '123456'
给root@%用户授以全部的权限:
# 给用户授以全部的权限
GRANT ALL ON *.* TO 'root'@'%'
# 给用户授以全部的权限,并同时修改用户密码为123
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123';
如果本机都无法连接怎么办呢?
如果忘记了 MySQL 的 root 密码,Windows操作系统下可以用以下方法重新设置:
KILL掉系统里的MySQL进程;
在命令提示符下(CMD),进入到MYSQL的BIN目录,用以下命令启动MySQL,以不检查权限的方式启动;
mysqld-nt --skip-grant-tables然后重新开打一个命令提示符的窗口(CMD)用空密码方式使用root用户登录MySQL;
mysql -u root
- mysql5.7修改root用户的密码;
mysql> update mysql.user set password=PASSWORD('root') where User='root';
mysql> flush privileges;
mysql> quit
mysql8会不一样:
ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'root';
- 重新启动MySQL服务,就可以使用新密码登录了