千家信息网

如何更改mysql数据库的密码

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,不知道大家之前对类似如何更改mysql数据库的密码的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完如何更改mysql数据库的密码你一定会有所收获的。环境介绍:
千家信息网最后更新 2026年10月31日如何更改mysql数据库的密码

不知道大家之前对类似如何更改mysql数据库的密码的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完如何更改mysql数据库的密码你一定会有所收获的。

环境介绍:
操作系统:Red Hat linux6
数据库版本:Mysql5.7

注:MySQL5.7在初始安装后,会生成随机初始密码,并在/var/log/mysqld.log中有记录,可以通过head命令查看,找password关键字即可找到随机初始密码。

设置密码方法如下:
方法1:用update直接编辑user表

mysql -u root  /*进入mysql*/mysql>use mysql  /*进入mysql用户*/mysql>update user set authentication_string=password('newpass'),password_expired='N where user='root'; /本sql适用于mysql5.7之后的版本(包括5.7),5.7之前的版本不是authentication_string,而是Password,所以把authentication_string改为password即可设置密码。mysql>FLUSH PRIVILEGES;   /*告诉云服务器重载授权表*/

退出mysql,编辑/etc/my.cnf文件,注释skip-grant-tables的内容,在重启服务使用账户密码登录即可。
方法2:mysqladmin命令(当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,这种方法就是无效的)
mysqladmin -u root password "newpass" /*设置的密码为newpass*/
如果要修改用户名密码
方法3:为账户赋予密码用 set password命令
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法4:如果你没有以匿名用户连接,省略FOR子句便可以更改自己的密码:
mysql> SET PASSWORD = PASSWORD('newpass');
方法5:你还可以在全局级别使用GRANT USAGE语句(在.)来指定某个账户的密码而不影响账户当前的权限:
mysql> GRANT USAGE ON *.* TO 'root'@'%' IDENTIFIED BY 'newpass';

补充:创建新账户时建立密码

mysql> INSERT INTO user (Host,User,Password) VALUES('%','oldboy',PASSWORD('newpass'));mysql> FLUSH PRIVILEGES;

当你使用SET PASSWORD、INSERT或UPDATE指定账户的密码时,必须用PASSWORD()函数对它进行加密。(唯一的特例是如果密码为空,你不需要使用PASSWORD())。需要使用PASSWORD()是因为user表以加密方式保存密码,而不是明文。

mysql> INSERT INTO user (Host,User,Password) VALUES('%','oldboy','newpass');mysql> FLUSH PRIVILEGES;

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

修改密码方法如下:
方法1: 如果忘记root密码,可以通过上面的设置密码第一种方法进行修改。
1.先修改配置文件/etc/my.cnf ,在[mysql]下面添加 skip-grant-tables 参数,重启服务。这时不用输入密码就能登录mysql
2.进入 mysql库,输入use mysql,用update 修改mysql的user表
3.FLUSH PRIVILEGES; /刷新权限/,然后退出mysql
4.将my.cnf配置文件中的 skip-grant-tables 参数注销或删除,在重启mysql服务即可

方法2: 使用mysqladmin
mysqladmin -u root -p password "newpass2" /*这时候回车提示输入的密码是旧密码*/
mysqladmin -u root -pnewpass password "newpass2" /*如果记得旧密码,用这种方式*/

当你使用navicat mysql工具连接mysql服务时报err1130错误,原因及解决方法如下:

1.检查下防火墙是否关闭 service iptables stop
2.改表法:检查是否是因为账号不支持远程,只能localhost。
登录本地数据库,进入mysql用户use mysql;
将user数据表里面的对应用户的host列中的localhost改为%即可。
SQL:
mysql> select host,user from user order by host desc,user desc; ---检查用户的host
mysql>update user set host='%' where user='root'; --- 把localhost改为%

在MySQL中'%'表示可以在任何主机上登录MySQL数据库,那为什么还需要明确创建登录主机为localhost的用户呢?
这涉及到MySQL安装时的初始化用户,匿名用户以及连接验证策略等,下面进行深入的分析。

转载出处:
1.深入分析MySQL ERROR 1045 (28000)

看完如何更改mysql数据库的密码这篇文章,大家觉得怎么样?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

密码 方法 用户 数据 服务 数据库 账户 加密 登录 命令 文件 服务器 版本 检查 输入 主机 参数 可以通过 方式 权限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海卓越科技互联网 河南云网互联网络科技有限公司 广州紫鲸互联网科技有限公司 深圳艾佳互联网科技 重庆科技学院互联网 科技伦理 互联网公司 中正互联网科技招聘 北京大学互联网科技怎么样 知域互联网科技有限公司大骗子 成都互联网科技公司工作好不好 米聚互联网科技南京有限公司排面 天津腾达互联网科技有限公司 元气玛特互联网科技公司是外包吗 南通创西澳互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 福仕德教育科技互联网 互联网对科技影响 互联网金融金融科技 北京瑞云互联网科技有限公司 科技互联网企业在行动 互联网科技有限公司 互联网科技logo设计 广州善班互联网科技 居家互联网科技有限公司 卓越科技互联网 招聘 互联网时代科技改变生活 福建科技产业互联网发展 本届互联网博览会上的黑科技 科技互联网经济论坛 广西泛欧互联网科技有限公司
0