MYSQL数据库Linux下mysql的root密码修改方法

MYSQL数据库Linux下mysql的root密码修改方法,第1张

概述介绍《MYSQL数据库Linux下mysql的root密码修改方法》开发教程,希望对您有用。

《MysqL数据库linux下MysqL的root密码修改方法》要点:
本文介绍了MysqL数据库linux下MysqL的root密码修改方法,希望对您有用。如果有疑问,可以联系我们。

前言
MysqL实例

在服务部署在MysqL上应该有好几个月了,因为现在的工作基本都在终端,因此很少登陆,今天要修改个东西,忽然发现我竟然已经彻底忘记了MysqL的密码,去代码里面爬终于找到了业务数据库的密码,但是root密码还是没有找到,权限没法改呀,于是开始爬坑之旅,估计以后还会遇到,就整理记录一下.需要的朋友们一起来看看吧.MysqL实例

系统参数
MysqL实例

服务器MysqL实例

 $ cat /proc/version linux version 4.8.3-x86_64-linode76 (maker@build) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Thu Oct 20 19:05:39 EDT 2016 $ lsb_release -a No LSB modules are available. distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04 Codename: xenial

MysqLMysqL实例

 MysqL> show variables like "%version%"; +-------------------------+-------------------------+ | Variable_name  | Value   | +-------------------------+-------------------------+ | innodb_version  | 5.7.16   | | protocol_version | 10   | | slave_type_conversions |    | | tls_version  | TLSv1,TLSv1.1  | | version   | 5.7.16-0ubuntu0.16.04.1 | | version_comment  | (Ubuntu)  | | version_compile_machine | x86_64   | | version_compile_os | linux   | +-------------------------+-------------------------+

解决方案
MysqL实例

以安全模式启动MysqL,可以直接以root身份登录,然后重设密码.下面是具体步骤MysqL实例

停掉在运行的MysqL服务:MysqL实例

 sudo service MysqL stop

以安全模式启动MysqL:MysqL实例

 sudo MysqLd_safe --skip-grant-tables --skip-networking &

直接用root登录,无需密码:MysqL实例

 MysqL -u root

重设密码:MysqL实例

 MysqL> use MysqL; MysqL> update user set authentication_string=password('password') where user='root'; MysqL> flush privileges;

退出MysqLMysqL实例

 MysqL > quit

重启MysqLMysqL实例

 sudo service MysqL restart

密码登录:MysqL实例

 MysqL -u root -p

异常处理
MysqL实例

修改密码报错,提示ERROR 1054 (42S22)
MysqL实例

在修改密码的时候,网上比较多的文档都是提示输入一下命令修改:MysqL实例

 MysqL> update user set password=PASSWORD("password") where User='root';

结果使用这个命令的时候报错:MysqL实例

 ERROR 1054 (42S22): UnkNown column 'password' in 'fIEld List'

原因是从MysqL 5.7开始,password字段被替换为了authentication_string,可以使用下面的命令来修改MysqL实例

 update user set authentication_string=password('password') where user='root';

修改密码后登录MysqL失败,提示ERROR 2002 (HY000)
MysqL实例

在修改密码并重启以后,登录MysqL的时候竟然登录不了,提示MysqL实例

ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)

搜索以后反馈是因为我安装了多个版本的MysqL,顺序执行下面的命令即可解决.MysqL实例

查看运行的MysqLMysqL实例

 ps -A|grep MysqL

kill运行的MysqLMysqL实例

 sudo pkill MysqL

查看运行的MysqLdMysqL实例

 ps -A|grep MysqLd

kill运行的MysqLdMysqL实例

 sudo pkill MysqLd

重启MysqLMysqL实例

 service MysqL restart

登录MysqLMysqL实例

 MysqL -u root -p

总结MysqL实例

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对内存溢出PHP的支持.MysqL实例

总结

以上是内存溢出为你收集整理的MYSQL数据库Linux下mysql的root密码修改方法全部内容,希望文章能够帮你解决MYSQL数据库Linux下mysql的root密码修改方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1161258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存