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安全错误
数据库的锁怎样保障安全
心率失常数据库
wms 地图服务器
打包项目的数据库版本
苏州app软件开发定做价格
软件开发师的价值观取向
超市会员系统数据库设计
文创互联网科技验证码
怎么看金仓数据库的进程
win7做ftp服务器
网络安全为人明
目前最好的软件开发技术
阿里云vpc网络安全组
淮安应用软件开发培训
民生实事网络安全
网络安全思维导图全套11张
服务器数据库如何停止
服务器cachemode
服务器 ssd 寿命
提款机管理系统数据库
网络安全提升课后评估
营山软件开发技术
步科数据库通讯
格林兄弟下载软件开发
什么是网络安全众测
剑三服务器名称
互联网安徽兴润科技合法吗
服务器单电源
吉林省启信互联网科技
潮州软件开发
it软件开发实施合同