MySQL修改账户的密码方法
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,MySQL提供了多种修改账户密码的方式:1、可以用mysqladmin命令在命令行指定密码 shell> mysqladmin -u user_name -h host_name password "
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
数据库应用怎样消除数据
创建用户数据库的方法
趣步类软件开发
化学数据分析软件开发
查看服务器信息内核
网络安全写稿件
别克君威互联网科技技术
戴尔服务器后面哪个是网口
e63安装词汇数据库
软件开发学几年
软件开发要求关掉手机
战地服务器
山东应用软件开发定做
文件服务器如何监控文件操作记录
putty数据库备份
图模型是什么 图数据库
服务器远程管理卡重启命令
电脑服务器可以当主机吗
网络安全锁
网络安全宣传照片爷爷奶奶
怎么搭一个服务器
人才数据库查询
怎么看自己数据库的地址和端口
服务器配置与管理的认识
通辽市app软件开发
租借服务器和网站
虹口区市场软件开发厂家价格
东南大学了网络安全
软件开发项目外包注意事项
计算机网络技术笔记app免费