zoukankan      html  css  js  c++  java
  • mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    Exception: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    问题描述如下:
    
    landen@landen-Lenovo:~$ su root;
    密码: 
    root@landen-Lenovo:/home/landen# mysql
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    原因:mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来
    
    solution: 
    1.(http://www.jb51.net/LINUXjishu/10981.html)
    2.(http://blog.csdn.net/tys1986blueboy/article/details/7056835)
    
    演示如下:
    root@landen-Lenovo:/home/landen# /etc/init.d/mysql stop
    Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql stop
    
    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the stop(8) utility, e.g. stop mysql
    mysql stop/waiting
    root@landen-Lenovo:/home/landen# mysqld_safe --user=mysql --skip-grant-tables --skip-networking&
    [1] 15969
    root@landen-Lenovo:/home/landen# 130406 15:32:52 mysqld_safe Can't log to error log and syslog at the same time.  Remove all --log-error configuration options for --syslog to take effect.
    130406 15:32:52 mysqld_safe Logging to '/var/log/mysql/error.log'.
    130406 15:32:52 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
    
    root@landen-Lenovo:/home/landen# mysql -u root mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.5.29-0ubuntu0.12.04.2 (Ubuntu)
    
    Copyright (c) 2000, 2012, 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> update user set Password=PASSWORD('lk198981') where user='root';
    Query OK, 0 rows affected (0.08 sec)
    Rows matched: 4  Changed: 0  Warnings: 0
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> quit;
    Bye
    root@landen-Lenovo:/home/landen# /etc/init.d/mysql restart
    Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql restart
    
    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the stop(8) and then start(8) utilities,
    e.g. stop mysql ; start mysql. The restart(8) utility is also available.
    mysql start/running, process 16401
    root@landen-Lenovo:/home/landen# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 37
    Server version: 5.5.29-0ubuntu0.12.04.2 (Ubuntu)
    
    Copyright (c) 2000, 2012, 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 |
    | metastore_db       |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql> create database student;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | metastore_db       |
    | mysql              |
    | performance_schema |
    | student            |
    | test               |
    +--------------------+
    6 rows in set (0.00 sec)
    
    mysql> use student;
    Database changed
    mysql> quit;
    Bye
  • 相关阅读:
    主从服务器配置与服务----有图
    密钥ssh 配置操作
    用户权限的sudo管理
    系统进程与计划任务管理
    文件系统--磁盘空间耗尽--磁盘坏道 处理以上问题
    MySQL字符串函数:substring_index()的使用详解
    MySQL字符串函数:locate()使用方法详解
    PHP 常用特殊字符的各种表示
    PHP get_headers()函数详解
    PHP urlencode()和urldecode()函数详解
  • 原文地址:https://www.cnblogs.com/likai198981/p/3002518.html
Copyright © 2011-2022 走看看