MySQL修改账户的密码方法
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,MySQL提供了多种修改账户密码的方式:1、可以用mysqladmin命令在命令行指定密码 shell> mysqladmin -u user_name -h host_name password "
千家信息网最后更新 2024年11月29日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()函数。
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()函数。
密码
账户
加密
命令
用户
语句
输入
方法
函数
情况
方式
服务器
服务
成功
全局
只有
多种
子句
字符
字符串
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有线电视网络安全管理规定
默纳克服务器显示五条杠
宿州软件开发招聘信息
网络安全篇文档的职位
机关单位网络安全防护措施
网络安全与之同行
科技城互联网党建
宗教场所网络安全宣传
强化政治纪律筑牢网络安全
福州思汇网络技术有限公司
网络安全管理对象包括
北京曙光服务器维修技术
魔兽 pvp 服务器
组建软件开发成本
苹果11验证服务器失败
河南网络软件开发计划
博山瓷砖软件开发咨询
对画图工具软件开发的描述
武汉星宇创网络技术有限公司
安规 网络安全
机关网络安全工作机构职责
软件开发过程中的文档范文
软件开发绩效考核管理软件
软件开发接受转行人员
ssh数据库的增删改查
服务器安全风险防御技术
选择服务器远的大区玩英雄联盟
软件开发就业方向怎么样
网银的网络安全架构
创建数据库表的sql行