开发者社区> 问答> 正文

Access denied for userrootlocalhostusing passwordNO

我用ECS一键配置好WEB环境之后,编写Java JDCB 连接MySQL失败,就尝试修改MySQL用户权限,但是我在进入phmyadmin用户组后,一不小心修改了root-locahost的权限,而且手贱点了修改后删除旧用户,然后.....然后......phpmyadmin就登不上了,通过XSHELL连接SSH后,登陆Mysql也会报错,报错信息Access denied for user 'root'@'localhost' (using password: NO);
从网上查的方法 所指示的配置文件在我的ECS中并不存在,求助
注:密码没有输错 而且不管是否输不输密码都报错

展开
收起
nut 2015-12-10 12:49:47 8438 0
2 条回答
写回答
取消 提交回答
  • nut
    回 2楼xninja的帖子
    不好意思  我就是因为无法启动Mysql服务才来求助的。。。。。感谢你的回答!

    -------------------------

    回 4楼xninja的帖子
    ./mysql.server start
    ./mysql.server: 1: ./mysql.server: my_print_defaults: not found
    ./mysql.server: 276: cd: can't cd to /usr/local/mysql
    Starting MySQL
    * Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)

    诶,好像是阿里云默认路径的问题?。求解答。
    2015-12-10 16:54:08
    赞同 展开评论 打赏
  • 我が道を逸れれば、天が笑う!
    修改配置之前为嘛不手动保存一下快照呢,出问题也好回滚啊。。。

    -------------------------

    1. 停止MySQL服务,并在mysql配置文件my.cnf中添加skip-grant-tables参数到[mysqld]配置块中

    2. 启动MySQL服务,添加root用户,并授予权限,启动数据库后,可以以密码登陆,并插入一条添加用户名为root的命令,命令执行如下:
       ./mysql.server start
       ./mysql -p  
       insert into user set user=’root’,ssl_cipher=”,x509_issuer=”,x509_subject=”;
       添加完成后,对该root用户更新权限,更新权限命令如下:
       update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y', Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';
       执行完成后,执行quit 退出数据库。

    3. 重启数据库并更新root密码
    执行完添加与更新root用户权限后,可以使用命令:
    ./mysql.server restart  来重启数据库
    利用./mysql -p 命令无密码登陆进入数据库,执行以下命令:
    update mysql.user  set password=password('newpassword') where user='root'
    #将password()中的newpassword字符更改为你自己的密码
    执行完成后,记得刷新权限:

    4. 注释掉skip-grant-tables参数,重启数据库
    权限刷新完成后,修改mysql的配置文件my.cnf,注释或删除掉添加的skip-grant-tables参数,然后利用命令:
    ./mysql.server restart  重启数据库即可
    flush privileges;

    5. 重启MYSQL就可以使用ROOT用户了。

    -------------------------

    那你得把MySQL服务启动失败的错误日志贴出来啊

    -------------------------

    回 5楼(nut) 的帖子
    服务脚本中的路径和MySQL实际安装路径不一致
    2015-12-10 13:32:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载