网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

MySQL修改账户的密码方法

MySQL提供了多种修改账户密码的方式:
1、可以用mysqladmin命令在命令行指定密码
shell> mysqladmin -u user_name -h host_name password "newpwd"
该命令重设密码的账户为user表内匹配User列的user_name和Host列你发起连接的客户端的记录。
比如把密码改为:root123
[root@mysql1 ~]# mysqladmin -u root password "root123" -p
Enter password:               --这里需要输入原来的老密码

2、为账户赋予密码的另一种方法是执行SET PASSWORD语句

mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');

只有root等可以更新mysql数据库的用户可以更改其它用户的密码。
如果你没有以匿名用户连接,省略FOR子句便可以更改自己的密码:

mysql> set password = password('mysql');
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
[root@mysql1 ~]# mysql -uroot -p
Enter password:                --此时输入老密码会出现如下提示
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@mysql1 ~]# mysql -uroot -p
Enter password:          --此时输入新密码连接成功
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.6.30 Source distribution

Copyright (c) 2000, 2013, 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> 

3、可以在全局级别使用GRANT USAGE语句(在*.*)来指定某个账户的密码而不影响账户当前的权限

mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit';

一般情况下最好使用上述3种方法来指定密码,你还可以直接修改user表:

要想在创建新账户时建立密码,在Password列提供一个值:

       shell> mysql -u root mysql
       mysql> INSERT INTO user (Host,User,Password)
            -> VALUES('%','jeffrey',PASSWORD('biscuit'));
       mysql> FLUSH PRIVILEGES;

要想更改已有账户的密码,使用UPDATE来设置Password列值:

       shell> mysql -u root mysql
        mysql> UPDATE user SET Password = PASSWORD('bagel')
              -> WHERE Host = '%' AND User = 'francis';
       mysql> FLUSH PRIVILEGES;
当你使用SET PASSWORD、INSERT或UPDATE指定账户的密码时,必须用PASSWORD()函数对它进行加密。(唯一的特例是如果密码为空,你不需要使用PASSWORD())。
需要使用PASSWORD()是因为user表以加密方式保存密码,而不是明文。如果你忘记了,你可能会象这样设置密码:

shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password)
    -> VALUES('%','jeffrey','biscuit');
mysql> FLUSH PRIVILEGES;

结果是密码'biscuit'保存到user表后没有加密。当jeffrey使用该密码连接服务器时,值被加密并同保存在user表中的进行比较。但是,保存的值为字符串'biscuit',因此比较将失败,服务器拒绝连接:

shell> mysql -u jeffrey -pbiscuit test
Access denied
如果你使用GRANT ... IDENTIFIED BY语句或mysqladmin password命令设置密码,它们均会加密密码。在这种情况下,不需要使用 PASSWORD()函数。


文章名称:MySQL修改账户的密码方法
本文网址:http://bjjierui.cn/article/goedgi.html

其他资讯