Mysql root用户无法使用grant

使用root用户

执行:

grant select,insert,update,delete  on projects.* to ‘test‘@‘%‘ identified by ‘test‘;

结果:

ERROR 1044 (42000): Access denied for user ‘root‘@‘%‘ to database ‘XXXXX‘

解决方法:

user mysql;

select * from user where user=‘root‘

看看权限列里面有没有不是Y的选项,看了一下,grant_priv不是 Y,果断update一下,变成Y。

flush privileges;

吃惊,再执行仍然被拒绝。

回首再看:select * from user where user=‘root‘发现里面有两条数据,其中第一条数据的Host列是个很奇怪的值,先不管它,直接update成%(所有主机都可以登陆使用),再执行

flush privileges;

晕,grant仍然错误,好吧。重启mysql

service mysql restart

呀!这次好了!我晕!

时间: 2024-11-05 01:32:59

Mysql root用户无法使用grant的相关文章

Windows下修改mysql root用户密码

忘记mysql的root密码是一件让人头疼的问题. 下面理一下Windows7下面重置root密码的方法. 1.打开一个命令行窗口:这儿必须注意,要使用管理员身份打开: 2.关闭mysql服务:net stop mysql 3.运行 mysqld --skip-grant-tables.该命令是让mysql启动的时候跳过授权表,这儿要注意的是网上很多地方都是 mysqld-nt,但新版本已经被mysqld取代了. 4.重开一个命令行窗口(用管理员身份打开), 运行命令: mysql -u roo

Linux/Centos 重置Mysql root用户密码

有时候你可能会忘记MySQL的root用户密码,下面教你们重置MySQL root用户密码 手动修改 1.停止MySQL服务 执行:/etc/init.d/mysql stop,你的机器上也不一定是/etc/init.d/mysql也可能是/etc/init.d/mysqld 反正就是停数据库,用kill杀进程号也可以ps –ef | grep mysql 然后kill -9 mysql 的进程号 2.跳过验证启动MySQL /usr/local/mysql/bin/mysqld_safe --

MySQL root用户忘记密码解决方案(安全模式,修改密码的三种方式)

1.关闭正在运行的MySQL 2.启动MySQL的安全模式,命令如下: mysqld --skip-grant-tables or mysqld-nd --skip-grant-tables 3.使用root用户[免密码]登陆MySQL mysql -u root -p 输入密码时,直接回车 4.选择MySQL系统库 use mysql 5.查看当前系统用户root的密码 select user,host,password from user where user="root" 查看的

Linux中Mysql root用户看不到mysql库问题解决方式

第一种方式: 1.首先停止MySQL服务:service mysqld stop2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables & 然后就可以无任何限制的访问mysql了3.root用户登陆系统:mysql -u root -p mysql4.切换数据库:use mysql5.显示所有的表:show tables;这里就可以访问表了6.查看user表中root用户的localhost权限:select * from user where

设置及修改mysql root 用户密码

mysql的安全 首先进入后 1.先给mysql 设置一个密码 2.删除无用的mysql库内的用户账号 3.删除默认存在的test数据库 还可以做到更安全的 1.删除所有mysql中的用户,包括root超级用户. mysql>delete from mysql.user; Query OK,2 rows affected(0.00 sec) 提示:root可以保留,然后修改为其它用户也可以 2.增加system 并提升为超级管理员,即和root等价的用户,只是名字不同. mysql>grant

转:linux环境mysql root用户密码重置

经常设置了mysql的root密码,就忘记掉了,这种事还是经常发生的.转自他人(http://www.osyunwei.com/archives/2014.html),权做笔记.linux环境下,解决方法: 1.编辑MySQL配置文件my.cnf vi /etc/my.cnf    #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables [mysqld] skip-grant-tables :wq!  #保存退出 service mysqld restart  #重启

mysql 创建用户命令-grant

我们在使用mysql的过程中,经常需要对用户授权(添加,修改,删除),在mysql当中有三种方式实现 分别是 INSERT USER表的方法.CREATE USER的方法.GRANT的方法.今天主要看一下grant方法是如何实现的 分两种情况,第一种先使用create user命令创建用户,然后grant授权:第二种直接使用grant创建并授权:我们先看第一种如何实现 查看用户权限 show grants for 你的用户 比如:show grants for [email protected]

忘记mysql root用户密码的解决办法(skip-grant-tables)5.6版本以下

这种情况只有在忘记root密码 不得已重启数据库的情况下使用的.现网环境慎用,需要重启数据库,并且安全性也比较难以保证. 1.修改配置参数 /etc/my.cnf 在 [mysqld] 下面加上: skip-grant-tables配置项. 2.重启mysql 使得参数生效: service mysqld restart 3.注意事项 此时所有用户登录当前数据库都是免密码的,所以此时数据库的安全性是非常低的. 4.修改密码 use mysqlupdate user set password=pa

忘记mysql root用户密码的解决办法(skip-grant-tables)

skip-grant-tables顾名思义,数据库启动的时候 跳跃权限表的限制,不用验证密码,直接登录. 注意: 这种情况只有在忘记root密码 不得已重启数据库的情况下使用的.现网环境慎用,需要重启数据库,并且安全性也比较难以保证. 1.修改配置参数 /etc/my.cnf 在 [mysqld] 下面加上: skip-grant-tables配置项. 2.重启mysql 使得参数生效: service mysqld restart 3.注意事项 此时所有用户登录当前数据库都是免密码的,所以此时