Loading... <img class=" lazyloaded" title="1480776820928760.jpg" src="https://www.zsythink.net/wp-content/uploads/ueditor/php/upload/image/20161203/1480776820928760.jpg" alt="mysql.jpg" data-src="https://www.zsythink.net/wp-content/uploads/ueditor/php/upload/image/20161203/1480776820928760.jpg" style=""> 这篇文章总结了mysql中常用的密码管理语句。 在本博客中,”mysql”是一个系列文章,这些文章主要对mysql/mariadb的常用知识点进行了总结,每一篇博客总结的知识点有所不同,具体内容可参考mysql文章列表。 mysql文章列表直达链接:<a href="https://www.zsythink.net/archives/tag/mysql/" target="_blank" rel="noopener">mysql知识点总结</a> 在MySQL中,可以使用如下几种方法修改或设置mysql用户的密码。 <h1 id="wznav_0">方法一</h1> 管理员可以在系统命令行中使用mysqladmin命令设置mysql用户的密码。 使用mysqladmin设置密码的命令语法如下: mysqladmin -u用户名 -p旧密码 password 新密码 比如,将root用户的密码从123123改为123456,示例如下 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_1.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_1.png" style=""> 如果数据库刚刚被初始化,root用户还没有密码,这种情况下,可以不指定旧密码,所以-p可以省略,直接指定新密码即可,示例如下。 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_2.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_2.png" style=""> <h1 id="wznav_1">方法二</h1> 使用root用户登录以后,使用SET PASSWORD命令设置用户密码,命令如下 #mysql -u root mysql> SET PASSWORD FOR ‘user’@’IPorHost’ = PASSWORD(‘newpassword’); 示例如下 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_3.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_3.png" style=""> <h1 id="wznav_2">方法三</h1> 注:使用如下方法修改用户密码时,需确定mysql的版本。 在mysql5.6以及之前的版本中,可以使用如下方法修改用户密码。 使用mysql的root用户登录以后,修改mysql.user表中对应用户的password字段,命令如下 update mysql.user set password = password(‘密码’) where user=’用户名’; 注意,上述命令修改用户密码时,不会区分用户连接数据库时所在的host,什么意思呢,就是说,如果同时存在zsy@localhost与zsy@127.0.0.1,那么这两个用户的密码都会被更改,如果想要针对某个host下的某个用户设定密码需要在where字句中加入过滤条件。 如下示例表示不区分用户的host,修改用户的密码。 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_4.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_4.png" style=""> 如下示例表示指定用户与其所在的host,修改用户的密码。 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_5.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_5.png" style=""> 修改完成后,最好刷新权限。 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_6.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_6.png" style=""> 在mysql5.7中,mysql.user表的password字段已经被更改为authentication_string字段,也就是说,mysql5.7中,将使用authentication_string字段保存用户的密码。 所以,如果想要在mysql5.7中使用上述方法修改用户的密码,则需要使用如下语句。 update mysql.user set authentication_string = password(‘密码’) where user=’用户名’; <h1 id="wznav_3">方法四</h1> 如果忘记了mysql的root用户的密码,可以使用如下方法,重置root密码。 1.停止当前mysql进程。 2.mysql进程停止后,使用如下命令启动mysql,可以绕过用户验证。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">mysqld_safe --skip-grant-tables &</span></div> </div> </div> </div> 3.完成上述步骤后,使用如下命令登录数据库 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">mysql -uroot</span></div> </div> </div> </div> 4.登录后使用之前说过的方法,修改root用户密码即可。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">mysql</span><span class="enlighter-g1">></span><span class="enlighter-text"> UPDATE mysql.</span><span class="enlighter-m3">user</span><span class="enlighter-text"> SET password=</span><span class="enlighter-m0">PASSWORD</span><span class="enlighter-g1">(</span><span class="enlighter-s0">"new password"</span><span class="enlighter-g1">)</span><span class="enlighter-text"> WHERE user=</span><span class="enlighter-s0">'root'</span><span class="enlighter-text">;</span></div> </div> </div> </div> 5.刷新后退出 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">mysql</span><span class="enlighter-g1">></span><span class="enlighter-text"> FLUSH PRIVILEGES;</span></div> </div> </div> </div> 6.停止数据库以后,按照正常的方式重启数据库,使用新密码登录即可。 示例如下: <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_7.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_7.png" style=""> 经过上述修改以后,root用户的密码已经被修改,停止mysql服务以后,重新启动即可。 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_8.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2016/12/121616_0511_8.png" style=""> 转载自朱双印日志https://www.zsythink.net/archives/405 Last modification:May 29, 2024 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏