zoukankan      html  css  js  c++  java
  • Mysql 命令行启动问题ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    Centos 刚装了mysql

    yum install mysql

    安装成功了,安装最后要求输入了密码,也输入了,OK

    mysql -uroot -p

    输入设置的密码

    竟然报错了!

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

    问朋友,他说初始密码是空的,可我命名设置了密码的阿。

    密码留空

    还是错误!

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

    于是重改密码!

    # /etc/init.d/mysql stop
    # mysqld_safe --user=mysql --skip-grant-tables --skip-networking;
    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('123456') where USER='root';
    mysql> FLUSH PRIVILEGES;
    mysql> quit

    # /etc/init.d/mysql restart
    # mysql -uroot -p
    Enter password:123456

    mysql>

    利用安全模式成功登陆,然后修改密码,等于给MySql设置了密码。登陆进去后,想创建一个数据库测试下。得到的结果确实:

    ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

    非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。
    参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:

    mysql> create database yan1;
    ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
    mysql>  SET PASSWORD = PASSWORD('123456');
    Query OK, 0 rows affected (0.03 sec)

    mysql> create database yan1;
    Query OK, 1 row affected (0.00 sec)

    也就是用mysql>  SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!

    改密码的注意事项

    假定现在用密码123456 可以登陆到数据库,要将密码改成zhou。

    第一种方式:在终端里,注意现在还没有登陆到数据库,输入命令mysqladmin -p123456 password zhou

    会出现这么一句警告:Warning: Using a password on the command line interface can be insecure.这表示已经改成功了。常见的误区:
          误区一:用原密码已经登陆到mysql了,再这么改就会报错。一定注意,直接在终端里,未登陆前改。

          误区二:将-p123456 写成 -p 123456.这样会报错的,-p后面不能带空格。

          误区三:password前面加了一个“-”.也是会报错。

    注意:password和新密码之间一定要有空格。新密码可以用""括起来。当有特殊字符时,这个引号是必须的。

    第二种方式:登陆到mysql后,进行更改

    mysql> update mysql.user set password=PASSWORD('yanyan') 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)

    误区:只运行了第一行命令,没有flush privileges是改不了密码的。全弄成小写的。经验证完全可行。

        综合来看我更喜欢第一种改密码的方式。

    Time is going......
  • 相关阅读:
    常见前端面试题CSS部分
    window.location
    实时时间设置
    常用兼容处理
    背景淡入淡出切换
    常用插件
    PHP文件处理函数
    PHP的数据处理函数二(数组)
    php的数据处理函数一(字符串)
    PHP环境搭建(phpstudy)
  • 原文地址:https://www.cnblogs.com/shua/p/4523045.html
Copyright © 2011-2022 走看看