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;