Mysql学习mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database

Mysql学习mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database,第1张

概述介绍《Mysql学习mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database》开发教程,希望对您有用。

《MysqL学习MysqL ERROR 1044 (42000): Access denIEd for user ''@'localhost' to database》要点:
本文介绍了MysqL学习MysqL ERROR 1044 (42000): Access denIEd for user ''@'localhost' to database,希望对您有用。如果有疑问,可以联系我们。

1. 问题描述:MysqL入门

在MysqL控制台下创建数据库出现以下信息:MysqL入门

MysqL> CREATE DATABASE python;
ERROR 1044 (42000): Access denIEd for user ''@'localhost' to database 'python'MysqL入门

2. 解决方法:MysqL入门

执行以下命令进入控制台:MysqL入门

MysqL --user=root -pMysqL入门

输入root用户的密码即可进入MysqL控制台:MysqL入门

创建数据库:MysqL入门

create database python;MysqL入门

显示所有数据库:MysqL入门

show databases;MysqL入门

如下:MysqL入门

www.linuxIDc.com @www.linuxIDc.com:~$ MysqL --user=root -p
Enter password:
Welcome to the MysqL monitor. Commands end with ; or \g.
Your MysqL connection ID is 4
Server version: 5.6.17 MysqL Community Server (GPL)MysqL入门

copyright (c) 2000,2014,Oracleand/or its affiliates. All rights reserved.MysqL入门

Oracle is a registered Trademark of Oracle Corporation and/or its
affiliates. Other names may be Trademarks of their respective
owners.MysqL入门

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MysqL入门

MysqL> create database python;
query OK,1 row affected (0.00 sec)MysqL入门

MysqL> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| MysqL |
| performance_schema |
| python |
| test |
+--------------------+
5 rows in set (0.02 sec)MysqL入门

MysqL>MysqL入门

3. OK,以上方法不是最好的,但却是简单可行的,Enjoy it!!!MysqL入门

4、方法四:MysqL入门

这几天用空密码登录MysqL后,然后修改MysqL默认密码,使用MysqL表出现过这个问题,提示:ERROR 1044 (42000): Access denIEd for user ''@'localhost' to database 'MysqL'.网上找了一些方法,终于搞定了.MysqL入门

我用的是xampp集成的MysqL,之前空密码能登进去phpmyadmin,但怎么也进不去phpmyadmin的系统表

后来解决成功发现是因为MysqL数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来.我用方法一解决了问题,

方法一:
在my.ini的[MysqLd]字段加入:MysqL入门

skip-grant-tablesMysqL入门

重启MysqL服务,这时的MysqL不需要密码即可登录数据库
然后进入MysqLMysqL入门

MysqL>use MysqL;
MysqL>update user set password=password('新密码') WHERE User='root';
MysqL>flush privileges;MysqL入门

运行之后最后去掉my.ini中的skip-grant-tables,重启MysqLd即可.

修改MysqL密码方法二:
不使用修改my.ini重启服务的方法,通过非服务方式加skip-grant-tables运行MysqL来修改MysqL密码
停止MysqL服务
打开命令行窗口,在bin目录下使用MysqLd-nt.exe启动,即在命令行窗口执行: MysqLd-nt --skip-grant-tables
然后另外打开一个命令行窗口,登录MysqL,此时无需输入MysqL密码即可进入.
按以上方法修改好密码后,关闭命令行运行MysqL的那个窗口,此时即关闭了MysqL,如果发现MysqL仍在运行的话可以结束掉对应进程来关闭.
启动MysqL服务.MysqL入门

linux下的处理方法:MysqL入门

MysqL> use MysqLERROR 1044 (42000): Access denIEd for user 'root'@'localhost' to database 'MysqL'MysqL> exitBye[root@testtest ~]# service MysqLd stop StopPing MysqLd:                      [ OK ][root@testtest ~]# MysqLd_safe --user=MysqL --skip-grant-tables --skip-networking & [root@testtest ~]# MysqL -u root -p -hlocalhostEnter password: MysqL> use MysqLMysqL> SELECT host,user,password,Grant_priv,Super_priv FROM MysqL.user;MysqL> UPDATE MysqL.user SET Grant_priv='Y',Super_priv='Y' WHERE User='root';MysqL> FLUSH PRIVILEGES;MysqL> GRANT ALL ON *.* TO 'root'@'localhost';MysqL> GRANT ALL ON *.* TO 'root'@'cn.cn.cn.cn';MysqL> GRANT ALL ON *.* TO 'root'@'245.245.245.245';MysqL> GRANT ALL ON *.* TO 'root'@'127.0.0.1';MysqL> FLUSH PRIVILEGES;MysqL> quitBye[root@testtest ~]# service MysqLd start restart linux/OS 
总结

以上是内存溢出为你收集整理的Mysql学习mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database全部内容,希望文章能够帮你解决Mysql学习mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/sjk/1161592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存