千家信息网

MySQL的密码怎么修改

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"MySQL的密码怎么修改",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL的密码怎么修改"吧!摘要:本文介绍了如何修改一个用
千家信息网最后更新 2026年11月02日MySQL的密码怎么修改

这篇文章主要讲解了"MySQL的密码怎么修改",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL的密码怎么修改"吧!

摘要:本文介绍了如何修改一个用户的密码,你可以使用三种方法,GRANT语句、SET PASSWORD语句、直接修改授权表以及使用管理工具mysqladmin。一个重要的应用就是如何在遗忘root用户密码的时候修改密码,使用的方法是启动MySQL服务器时忽略加载授权表。

由MySQL使用用户名和口令的方法与Unix或Windows使用的方式有很多不同之处:

·MySQL使用于认证目的的用户名,与Unix用户名(登录名字)或Windows用户名无关。缺省地,大多数MySQL客户尝试使用当前 Unix用户名作为MySQL用户名登录,但是这仅仅为了方便。客户程序允许用-u或--user选项指定一个不同的名字,这意味着无论如何你不能使得一个数据库更安全,除非所有的MySQL用户名都有口令。任何人可以试图用任何名字连接服务器,而且如果他们指定了没有口令的任何名字,他们将成功。

·MySQL用户名最长可以是16各字符;典型地,Unix用户名限制为8个字符。

·MySQL口令与Unix口令没关系。在你使用登录到一台Unix机器口令和你使用在那台机器上存取一个数据库的口令之间没有必要有关联。

·MySQL加密口令使用了一个Unix登录期间所用的不同算法。

本节将介绍如何为MySQL数据库系统的用户修改密码。

使用myadmin实用程序

使用mysqladmin实用程序修改密码的命令行是:

shell>mysqladmin -u user -p password "newpassword"

运行这个命令,在提示输入密码时,数据就密码,则用户user的密码就被改为newpassword
。如果,原来的用户没有密码,则不比指定-p选项。例如,初始化授权表之后,root用户的密码就是空的,你可以这样为root用户设立密码:

shell>mysqladmin -u root password "newpassword"

使用语句SET PASSWORD

使用mysqladmin为用户修改密码有一个明显的缺点,就是必须知道用户原来的密码,如果是为了给遗忘了密码的用户重设密码就无能为力了。一个专门用于修改密码的SQL语句为SET PASSWORD:

·SET PASSWORD = PASSWORD(some password)

设置当前用户的口令。任何非匿名的用户能改变他自己的口令!

连接到服务器后,你可以这样改变自己的密码:

mysql> SET PASSWORD = PASSWORD(another pass);

·SET PASSWORD FOR user = PASSWORD(some password)

设置当前服务器主机上的一个特定用户的口令。只有具备存取mysql数据库的用户可以这样做。用户应该以格式给出,这里 user和hostname完全与他们列在mysql.user表条目的User和Host列一样。例如,如果你有一个条目其User和Host字段是 bob和%.loc.gov,你将写成:

mysql> SET PASSWORD FOR " = PASSWORD("newpass");

直接修改授权表

另一种修改,密码的方法是直接修改授权表user。只有具备存取mysql数据库的用户可以这样做。

例如,如果你有一个条目其User和Host字段是bob和%.loc.gov,你将写成:

mysql> UPDATE mysql.user SET password=PASSWORD("newpass") where user="bob AND host="%.loc.gov";
mysql>FLUSH PRIVILEGES;


重新设置一个遗忘的root口令

如果你遗忘了root用户的口令,那么将会是一件非常麻烦的事。除非你有其它有特权的用户,否则很多操作都无法完成,例如,关闭数据库等等。

你应当选用--without-grant-tables选项启动mysqld服务,你可以在这时更改授权表的相关内容,也可以用mysqlaccess检查你的授权是否到位。

例如,如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。

1、关闭MySQL服务器

向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。

kill `cat /mysql-data-directory/hostname.pid`

你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。

如果在平台上,也可以停止进程。如果是NT还可以用net stop mysql命令关闭。

2、使用--skip-grant-tables 参数来启动 d。

Unix平台:

$su mysql

$safe_mysqld --skip-grant-tables &

Windows平台:

C:mysqlin>mysqld --skip-grant-tables

以上语句,假定都位于正确的目录。

3、连接到服务器,修改口令

使用mysql -h hostname mysql命令登录到mysqld server ,用grant命令改变口令:


mysql>GRANT ALL ON *.* TO INDENTIFIED BY new password
-> WITH GRANT OPTION;
mysql>GRANT ALL ON *.* TO INDENTIFIED BY new password
-> WITH GRANT OPTION;


(如果存在一个能从任意地址登录的root用户,初始化授权表后,生成该用户,为了安全,你可能已经删除该用户)。

其实也可以直接修改授权表:

mysql> use mysql;
mysql> update user set password =password(yourpass) where user=root;


你可能使用工具mysqladmin修改密码:

shell> mysqladmin -h hostname -u root password new password

但是它修改的密码语服务器匹配的用户有关。如果,你从服务器主机连接,那么服务器匹配的是,修改该用户密码,否则一般修改密码,除非你有其它root用户存在。

4. 载入权限表:

shell> mysqladmin -h hostname flush-privileges

或者使用 SQL 命令`FLUSH PRIVILEGES。

当然,在这里,你也可以重启mysqld。

感谢各位的阅读,以上就是"MySQL的密码怎么修改"的内容了,经过本文的学习后,相信大家对MySQL的密码怎么修改这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

用户 密码 口令 服务 服务器 数据 用户名 命令 数据库 登录 语句 名字 就是 方法 不同 内容 平台 条目 程序 存取 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 华服互联网科技怎么样 河南云网互联网络科技有限公司 互联网品科技 金融科技创新监管互联网金融 西安互联网科技公司 睿民互联网科技 亿人帮互联网科技 天扬科技互联网广告 科技类的互联网平台 无锡溥仪互联网科技有限公司 蓝色互联网科技 互联网科技公司招聘 深圳市运趣互联网科技有限公司 互联网对科技的发展 晓花互联网科技有限公司网址 浙南科技城互联网大厦建设工程 广州互联网高科技取餐柜 10位科技互联网大佬 武汉亿视互联网科技有限公司 中国互联网金融科技基金 互联网金融监管科技 互联网科技教育视频 本届互联网博览会上的黑科技 东莞新华互联网科技学校 互联网公司高科技产品 中国互联网有什么科技 本届互联网大会上的黑科技 南京一网一红互联网科技有限公司 互联网科技创业有什么好项目
0