zoukankan      html  css  js  c++  java
  • mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'

    就当作自己忘记Mysql密码把,忘记密码的解决方法


    一、mysql登录错误
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user 'root'@'localhost' (using password: YES)'
    无法修改密码
    用 service mysqld stop
    mysqld_safe --skip-grant-tables &
    输入 mysql -uroot -p 回车进入
    >use mysql;
    > update user set password=PASSWORD("newpass")where user="root";
    更改密码为 newpassord
    > flush privileges; 更新权限
    > quit 退出
    service mysqld restart
    mysql -uroot -p新密码进入

    ===========================================================
    二,忘记本地root的登录密码
    解决过程:
    1、编辑/etc/my.cnf
    在[mysqld] 配置部分添加一行
    skip-grant-tables

    2、保存后重启mysql
    [root@localhost etc]# service mysqld restart
    Shutting down MySQL. [ OK ]
    Starting MySQL. [ OK ]

    3、登录数据库重新设置root密码
    [root@localhost ~]# mysql -uroot -p mysql
    Enter password:
    直接回车进入

    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.1.47-log Source distribution
    Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL v2 license

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

    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | test |
    +--------------------+
    3 rows in set (0.00 sec)

    执行下列语句
    mysql> update user set password=password("mysql") where user='root';
    Query OK, 4 rows affected (0.00 sec)
    Rows matched: 4 Changed: 4 Warnings: 0

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    4、删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql;
    用新设的密码就能正常登录了;

    =================================================

    介绍一个非常有用的mysql启动参数—— --skip-grant-tables。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。
    操作方法:
    1、杀掉原来进行着的mysql:
    rcmysqld stop
    或者:
    service mysqld stop
    或者:
    kill -TERM mysqld
    2、以命令行参数启动mysql:
    /usr/bin/mysqld_safe --skip-grant-tables &
    3、修改管理员密码:
    use mysql;
    update user set password=password('yournewpasswordhere') where user='root';
    flush privileges;
    exit;
    4、杀死mysql,重启mysql

  • 相关阅读:
    【特别推荐】12款最佳的网站速度和性能测试工具
    Skeljs – 用于构建响应式网站的前端开发框架
    EpicEditor – 可嵌入的 JavaScript Markdown 编辑器
    12个学习 CSS3 网站布局设计的优秀案例
    15套流行的扁平化设计的界面素材【免费下载】
    JavaScriptOO.com – 快速找到你需要的 JS 框架
    15款最好的 jQuery Modal(模态窗口)插件
    开眼了!20个极具创意的移动界面动画效果
    ShareDrop – 苹果 AirDrop 服务的 HTML5 实现
    Furatto – 轻量,友好的响应式前端开发框架
  • 原文地址:https://www.cnblogs.com/losbyday/p/5840841.html
Copyright © 2011-2022 走看看