mysql root无法修改用户权限,root无法操作数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql root无法修改用户权限,root无法操作数据库相关的知识,希望对你有一定的参考价值。
参考技术A因为之前root安全设置问题,把root的select_priv, update_priv, insert_priv, delete_priv权限都给下掉了。
现在要grant 修改非root用户权限的时候发现修改不了,才发现是root权限的问题。
修改mysql配置文件
mysqld新增skip-grant-tables,wq保存退出
重启mysql服务
进入mysql
查看mysql用户表信息,发现root没有CURD的权限
发现问题直接update,修改它,如果其它权限没了,也可以修改
修改my.cnf,注释掉skip-grant-tables
重启mysql服务
登录root账号,就可以用了
其实和服务器的修改方法一样
查看my.cnf挂载情况,如果已经知道了my.cnf的挂载位置,就不用执行这一步。
找到my.cnf配置文件,这边的挂载到宿主机的配置在/opt/mysql/config/my.cnf
注意 5d15960f2861 是我自己的 CONTAINER ID
如果my.cnf没有挂载出来,那就进容器里面改my.cnf了,注意 5d15960f2861 是我自己的 CONTAINER ID
my.cnf 中的mysqld新增skip-grant-tables,wq保存退出
重启docker mysql服务
进入docker mysql容器的mysql服务
查看mysql用户表信息,发现root没有CURD的权限
发现问题直接update,修改它,如果其它权限没了,也可以修改
修改my.cnf,注释掉skip-grant-tables
重启docker mysql服务
登录root账号,就可以用了
mysql修改root密码
mysql8.0.16
登录时出现ERROR 1130 (HY000): Host ‘localhost‘ is not allowed to connect to this MySQL server
出现此错误时,是root用户权限问题,客户端无法访问服务器
判断本次出现问题原因为:安装mysql后修改密码,修改密码使用了明文密码导致问题出现
update mysql.user set authentication_string=‘password‘ where user=‘root‘;
使用此方法修改密码就会出现此问题,正确修改密码方式如下
1、客户端无法登录mysql服务器,需要越权登录
mysqld --console --skip-grant-tables --shared-memory
2、越权可以直接通过mysql命令直接登录,然后进入user表将root用户密码修改为空,可使用update命令
3、退出mysql关闭1中打开的console,重启mysql,重新修改密码
alter user ‘root‘@‘localhost‘ identified by ‘password‘//此方法修改后的密码为加密的
网上有些修改密码方式为:
update mysql.user set authentication_string=password(‘password‘) where user=‘root‘;
尝试后无效,报错,猜测是password方法已经不被使用了
以上是关于mysql root无法修改用户权限,root无法操作数据库的主要内容,如果未能解决你的问题,请参考以下文章