为数据库的安全性将mysql数据库root用户的权限设置为只有select权限,但是之后在更改数据库的数据表或者删除表的时候出现1045错误

1045:Access denied for user ‘root’@localhost (using password: YES)
解决办法如下:
(1)找到mysql安装目录下的my.ini或者是my-default.ini文件,用记事本打开之后,添加skip-grant-tables(不使用密码登录mysql),保存之后退出。
(2)使用管理员权限打开cmd窗口,进入mysql安装目录中的bin文件夹,停止mysql服务(net stop mysql),开启mysql服务(net start mysql),使配置生效。
(3)在bin目录下,输入mysql -u root -p

不用输入密码,直接enter就可以进入数据库了。

(4)手动修改用户root的权限,使其可以设置权限

执行命令:UPDATE mysql.user SET Grant_priv=‘Y’, Super_priv=‘Y’ WHERE User=‘root’;
执行命令:flush privileges; 刷新缓冲区。
执行命令:grant all on . to ‘root’@‘localhost’; 重新给用户root赋权。

执行命令: flush privileges; 重新刷新缓冲区。
这个时候再重新启动mysql服务就可以在mysql数据库只能够查看root用户已经拥有所有的权限了。
在这里插入图片描述

(5)修改密码
进入mysql数据库,mysql -u root -p 输入密码之后就可以进入了。执行命令:

alter user ‘root’@‘localhost’ identified by ‘密码’;
之后再次刷新缓冲区,重启mysql服务就可以使用新设置的密码登录了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长大的小蚂蚁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值