千家信息网

如何更改mysql数据库的密码

发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,不知道大家之前对类似如何更改mysql数据库的密码的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完如何更改mysql数据库的密码你一定会有所收获的。环境介绍:
千家信息网最后更新 2025年11月06日如何更改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安全错误 数据库的锁怎样保障安全 软件开发技术和流程 从化正规的网络安全运维 内网服务器 nat 守住网络安全关 昆明上海万户网络技术有限公司 供电所学习网络安全法怎么学 云南白药为什么招软件开发人员 2018年国家网络安全宣传周主题 vm服务器配置与管理综合实训 重启数据库 oracle 软件开发信任小罗 复旦大学图书馆全文数据库 长沙市记录爱软件开发有限公司 浙江公司管理系统软件开发 联通服务器坏了怎么连接网络 数据库表还原 车辆打印后显示数据库连接失败 网络安全培训 员工 校园网络安全与维护 湖北省网络安全协会 大兴区智能网络技术服务保障 亿航互联网信息科技有限公司 微软服务器管理软件有哪些 网络技术毕业设计任务书摘要 三星s3无法连接服务器 怎么做好网络安全防护 网络安全工程师工资如何 我国网络安全 公司发展 热点网络安全密匙怎么设置 盘州网络安全系统有哪些
0