Jquery中文网 www.jquerycn.cn
Jquery中文网 >  数据库  >  mysql  >  正文 MySQL执行GRANT命令时报错ERROR 1045解决办法

MySQL执行GRANT命令时报错ERROR 1045解决办法

发布时间:2017-03-17   编辑:www.jquerycn.cn
jquery中文网为您提供MySQL执行GRANT命令时报错ERROR 1045解决办法等资源,欢迎您收藏本站,我们将为您提供最新的MySQL执行GRANT命令时报错ERROR 1045解决办法资源
GRANT命令是mysql中授权问题了,如果是我们在使用grant导致的ERROR 1045问题我们要如何来解决呢,今天小编来为各位介绍一篇关于MySQL执行GRANT命令时报错ERROR 1045解决办法吧。
<script>ec(2);</script>

在MySQL执行GRANT命令时出现如下错误内容。

mysql> grant all on *.* to ...
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

调查内容

mysql.user表

不小心把mysql.user表清除了的话,可以追加root用户,但这次好像不是这个问题。

mysql> select user,host, password from mysql.user
--------- ----------- -----------
| user    | host      | password  |
--------- ----------- -----------
| root    | localhost | *XXX1     |
| root    | 127.0.0.1 | *XXX2     |
| zabbix  | localhost | *XXX3     |
--------- ----------- -----------
super用户权限

查看用户权限拥有super用户权限。

mysql> show grants
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES,
INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE,
REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*XXXX' WITH GRANT OPTION
查看MySQL版本

查看MySQL版本不知何时从5.1升级为5.5了,确认/var/log/yum.log发现yum安装别的软件的时候MySQL版本也同时被升级了。

对应内容

因为表的结构是5.1版本的因此无法在版本5.5追加用户,执行mysql_upgrade之后,就可以正常的追加用户了。

# mysql_upgrade -u root -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Running 'mysqlcheck with default connection arguments
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
...
执行GRANT命令成功!

mysql> grant all on *.* to ...
Query OK, 0 rows affected (0.00 sec)

结语

在升级MySQL后需要执行mysql_upgrade命令。mysql_upgrade会确认数据库的表结构和最新MySQL Server的互换性。当表和现在的MySQL Server没有互换性的时候,会确认该表并修复此表。并且mysql_upgrade命令会升级MySQL使用的表(即System Table),可使用版本升级后的新权限及新功能。

您可能感兴趣的文章:
ubuntu下mysql配置
windows 2003下MySQL安装时出现1045错误的解决办法
php error Can't connect to local MySQL server...的解决方法
MySQL 忘记密码的解决办法
mysql Access denied for user 'root'@'localhost' 问题的解决方法
ERROR 2002 (HY000): Can't connect to local MySQL
修改mysql密码的一些方法
Mysql启动中InnoDB: Error: log file ./ib_logfile0 is of different size 0错误的解决办法
忘记MySql的root密码的解决方法
libmysqlclient.so.15()(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64的解决

[关闭]