mysql远程连接后本地连接不上

本文详细介绍了解决MySQL远程连接问题的方法,包括更新用户主机名、刷新权限、使用授权法开启远程连接,以及在忘记密码时如何重置密码和修复权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这种方式开启远程连接:

mysql>update user set host = '%' where user = 'root';

mysql>FLUSH RIVILEGES

开启远程连接后,本地就没有root@localhost 了。

 

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

方法一:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q

方法二:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> delete from user where USER='';
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q

原文:https://www.cnblogs.com/gyrgyr/p/6872972.html

 

windows mysql57 my.ini在c盘C:\ProgramData\MySQL\MySQL Server 5.7里

忘记密码后,在my.ini里加入

skip-grant-tables

保存重启服务,无密码登录

flush privileges;

set password for 'root'@'localhost'=password('123456');

退出,删除选项,重启服务,有密码登录

 

授权法开启远程连接:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' 

flush privileges; 

如果还是不行,

set password for 'root'@'%'= password('123456');  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值