mysql 建库报匿名用户权限错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 建库报匿名用户权限错误相关的知识,希望对你有一定的参考价值。

报错信息:

ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘meitu‘

系统环境:

  • Centos 7.5
  • mysql Server version: 5.6.48

分析原因:匿名用户(‘‘)权限报错

问题描述:

安装好mysql后,root用户账户登录mysql,创建一个新数据库时,提示报错,如下:

[root@localhost mysql]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.6.48 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

mysql> create database meitu charset=utf8;
ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘meitu‘

解决方法:

1. 在/etc/my.cnf的[mysqld]字段下加入:skip-grant-tables , 如下截图

技术图片

2. 再重启mysqld服务

[maaiqiang@localhost ~]$ systemctl restart mysqld

这时的mysql不需要密码即可登录数据库

3. 登录进入mysql,执行以下命令

mysql > use mysql;
mysql > delete from user where USER=‘‘;
mysql > flush privileges;
mysql > exit;

4. 再删除/etc/my.ini中的skip-grant-tables,重启mysqld服务即可正常建库了。

以上是关于mysql 建库报匿名用户权限错误的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 6.5 下,phpmyadmin 建库无权限

MySQL的建库建表建约束与存储引擎

MySQL的建库建表建约束与存储引擎

MySQL权限及删除MySQL的匿名账户

mysql8.0创建用户授予权限报错解决方法

gitlab 权限说明