ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

初次安装mysql,net start mysql,然后输入mysql -u root -p,出现enter password,我直接点击回车,结果出现如果下错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。网上看了很多方法,都是千篇一律的,没有解决我的问题,有那个好心人能够帮助我
使用:set password for 'root'@'localhost' =password('');
flush privileges;
还是不行,当输入set password for 'root'@'localhost' =password('');时就出现no database seleced错误
注:我没有添加新用户,好像mysql有个默认的用户root,是不是我应该自己添加个新用户啊

1、开始菜单->控制面板->管理工具->服务,找到Mysql服务停掉。

2、右击我的电脑->管理->服务与应用->服务,找到mysql服务停掉。

3、Ctrl+Alt+Delete->启动服务管理器->服务,找到mysql服务停掉。

mysql ERROR 1045 (28000): 错误解决办法

1、找到配置文件my.ini  ,然后将其打开,可以选择用记事本打开

2、打开后,搜索mysqld关键字。找到后,在mysqld下面添加skip-grant-tables,保存退出。

3、保存后重启mySQL

    温馨提示:答案为网友推荐,仅供参考
    第1个回答  2017-11-07

    MySQL安装时默认的用户是root,这里的root是指数据库的用户,root密码一般在初始化MySQL时存放在你的日志文件中,日志文件的存放路径可以通过my.cnf文件进行自定义。

    使用如下方法即可解决,本人已验证可行。


    #1.停止mysql数据库
    /etc/init.d/mysqld stop

    #2.执行如下命令
    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

    #3.使用root登录mysql数据库
    mysql -u root mysql

    #4.更新root密码
    mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
    #最新版MySQL请采用如下SQL:
    mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

    #5.刷新权限 
    mysql> FLUSH PRIVILEGES;

    #6.退出mysql
    mysql> quit

    #7.重启mysql
    /etc/init.d/mysqld restart

    #8.使用root用户重新登录mysql
    mysql -uroot -p 
    Enter password: <输入新设的密码newpassword>

    本回答被网友采纳
    第2个回答  2016-03-01
    打开mysql中的my.ini(如果没有就将my-default.ini复制一份,并修改为my.ini);在[mysqld]下添加skip-grant-tables;重启mysql,在dos页面输入mysql,按enter即可
    第3个回答  2015-08-25
    两行代码就好了
    sudo su先取得管理员权限
    mysql -u root -p然后输入你初次安装mysql设置的密码就进去了
    第4个回答  2014-05-15
    直接mysql回车就好了,不要加-u -p参数,就会使用默认的root@localhost登录。
    如果你想改密码,要先选择数据库
    use mysql
    然后操作本回答被网友采纳
    相似回答