MySQL长短密码

今天批量搭建MySQL环境的时候,遇到长短密码问题,故就此问题总结一下长短密码。

介绍

1、长密码例子:

mysql> show grants for 'test'@'localhost';
+--------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost |
+--------------------------------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' |
+--------------------------------------------------------------------------------------------------------------+

2、短密码例子:

mysql> show grants for 'test'@'localhost';
+-------------------------------------------------------------------------------------+
| Grants for test@localhost |
+-------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '378b243e220ca493' |
+-------------------------------------------------------------------------------------+

3、对应的函数:

mysql> select Password('test');
+-------------------------------------------+
| Password('test') |
+-------------------------------------------+
| *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+-------------------------------------------+
1 row in set (0.00 sec) mysql> select old_password('test');
+----------------------+
| old_password('test') |
+----------------------+
| 378b243e220ca493 |
+----------------------+

4、old_passwords参数

可以动态地修改密码格式,old_passwords参数

http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_old_passwords

http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html

问题引入

test用户之前对应的密码是短密码修改为长密码后,登录出现denied问题:

[root@typhoeus79 mysql_5580]# ./bin/mysql -utest -p'test' -P5580
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
[root@typhoeus79 mysql_5580]# mysql.5580
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 726
Server version: 5.5.8-log Source distribution Copyright (c) 2000, 2010, 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 grants for 'test'@'localhost';
+--------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost |
+--------------------------------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' |
+--------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> select Password('test');
+-------------------------------------------+
| Password('test') |
+-------------------------------------------+
| *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+-------------------------------------------+

重新授权之后,还是存在问题:

mysql> GRANT SELECT ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29';
Query OK, 0 rows affected (0.00 sec)
[root@typhoeus79 mysql_5580]# ./bin/mysql -utest -p'test' -P5580
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)

起先以为是长短密码的问题,原来是没有flush privileges。记得之前说对于使用grant的授权是可以不用的flush的吗???

在flush privileges就可以了。

MySQL长短密码的更多相关文章

  1. linux系统下使用xampp 丢失mysql root密码【xampp的初始密码为空】

    如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 注:刚安装好的xampp的Mysql初始密码是空... 找回密码的步骤如下: 1.停止mysql服务器 sudo /o ...

  2. mysql用户密码修改,用户添加、删除及设置权限

    一下的示例所用用户名和密码为:test,111111 Mysql密码修改: Mysql修改密码需要root的权限,先执行mysql -uroot -p(密码); 1)使用set password方式来 ...

  3. linux mysql root密码重置

    MySQL安装解决方法:重改密码 先停止 Mysql # stop mysql 重要:输入下面的代码# mysqld_safe --user=mysql --skip-grant-tables --s ...

  4. xampp修改mysql默认密码详解

    在这里介绍xampp修改mysql默认密码的大概过程是先利用xampp的phpmyadmin进入修改mysql密码,修改之后我们再修改xampp中phpmyadmin的密码,这样就完整的修改mysql ...

  5. mysql忘记密码

    修改 /etc/my.cnf 添加 skip-grant-tables 修改完后重启mysql 这样就可以直接进入mysql 然后修改mysql数据库密码 mysql>update user s ...

  6. 【转】mysql忘记密码(未初始化)

    Mac OS X - 重置 MySQL Root 密码您是否忘记了Mac OS 的MySQL的root密码? 通过以下4步就可重新设置新密码:1.  停止 mysql server.  通常是在 '系 ...

  7. MySQL root密码找回

    以MySQL多实例为例,演示找回MySQL root的密码 1.关闭mysql服务 [root@mysql ~]# mysqladmin -uroot -poldboy123 -S /data/330 ...

  8. Linux下MySQL忘记密码

    系统:CentOS6.6 64位 参考文档(截图请看原网址): Linux下MySQL忘记root密码怎么办_百度经验 http://jingyan.baidu.com/article/1709ad8 ...

  9. Mysql 修改密码及重置密码方法

    修改密码: //选择数据库 use mysql; //修改密码 update user set password=password('新密码') where user='root'; //立即生效 f ...

随机推荐

  1. zoj3954 详细讲解 排序比较单词法

    Seven-Segment Display Time Limit: 1 Second      Memory Limit:65536 KB A seven segment display, or se ...

  2. java 静态代码块 代码块 构造函数 静态成员变量 成员变量的初始化顺序

    没有父类的情况 1,静态代码块-->静态成员变量-->成员变量(实例属性)-->代码块-->构造函数 2, 静态代码块 和 静态成员变量 只会初始化一次 有父类的情况 1,父类 ...

  3. python爬虫爬取代理IP

    # #author:wuhao # #--*------------*-- #-****#爬取代理IP并保存到Excel----#爬取当日的代理IP并保存到Excel,目标网站xicidaili.co ...

  4. JavaScript中的this基本问题

    在函数中 this 到底取何值,是在函数真正被调用执行的时候确定下来的,函数定义的时候确定不了. 执行上下文环境 : **定义**:执行函数的时候,会产生一个上下文的对象,里面保存变量,函数声明和th ...

  5. 根据选中不同的图元来显示不同的属性面板changePropertyPane.html

    在现实生活中,我们有很多时候需要根据选中不同的东西来获取不同的属性,并且就算是同类型的东西我们有时也希望显示不同的属性,就像每个人都有不同的个性,可能会有相同点,但是不可能完全相同. 根据这个思想,我 ...

  6. GTK主题黑边问题

    Linux就是这样,上游一出点什么奇怪的变动,下游程序就要受影响..最近滚了一下后,不知道mesa还是xf86-intel-video哪个玩了什么新花样,所有gtk应用[主要是gnome组件]全部自带 ...

  7. Python实现正交实验法自动设计测试用例

    1.简介 正交试验法是研究多因素.多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的.有代表性的点进行试验,这些有代表性的点具备了 ...

  8. go 代码的调试---打印调用堆栈

    本文介绍如何打印调用堆栈进行go代码的调试. 打印堆栈使用的runtime package中的Stack()函数 func Stack(buf []byte, all bool) int Stack ...

  9. js实现一个简单钟表动画(javascript+html5 canvas)

    第一次在博客园注册发博.有一次去人家单位开标,看到开标网站上有个钟表动画,一时兴起,就写了个简单的钟表动画. 用js和html5 canvas对象实现一个简单钟表程序 主要用到的就是h5的canvas ...

  10. print、println与printf之间的区别

    //print没有换行的而println有自动换行功能.实例:uprint.java class uprint{public static void main(String arg[]){int i, ...