mysql root无法修改用户权限,root无法 *** 作数据库

mysql root无法修改用户权限,root无法 *** 作数据库,第1张

因为之前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数据库中sql修改字段类型可以按照以下方式:语法规则:alter table 表名 modify 字段名 新类型例如,有张表student,有id字段是int型的,改为varchar类型 alter table student modify id varchar(20) 执行该sql语句即可。注意:如将varchar类型转成int类型,原字段必须是数字, 而且int的最大值是4294967295,原字段的值需要小于等于int的最大值才可以。

有3个方法

#在控制台上输入

bash$ mysql -u root mysql

#用mysql客户程序

mysql>UPDATE user SET password=PASSWORD("new password") WHERE user='hunte'

mysql>FLUSH PRIVILEGES

mysql>QUIT

<<<

>>>

#在控制台上输入

bash$ mysql -u root mysql

mysql>SET PASSWORD FOR hunte=PASSWORD('new password')

mysql>QUIT

<<<

>>>

#直接在控制台上输入

bash$ mysqladmin -u root "old password" "new password"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8674306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存