数据库教程:Linux下mysql的root密码修改方法分享

前言

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

系统参数

服务器

$cat/proc/version Linuxversion4.8.3-x86_64-linode76(maker@build)(gccversion4.7.2(Debian4.7.2-5))#1SMPThuOct2019:05:39EDT2016 $lsb_release-a NoLSBmodulesareavailable. DistributorID:Ubuntu Description:Ubuntu16.04.1LTS Release:16.04 Codename:xenial

mysql

mysql>showvariableslike"%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,可以直接以root身份登录,然后重设密码。下面是具体步骤

停掉在运行的MySQL服务:

sudoservicemysqlstop

以安全模式启动mysql:

sudomysqld_safe--skip-grant-tables--skip-networking&

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

mysql-uroot

重设密码:

mysql>usemysql; mysql>updateusersetauthentication_string=password('password')whereuser='root'; mysql>flushprivileges;

退出mysql

mysql>quit

重启mysql

sudoservicemysqlrestart

密码登录:

mysql-uroot-p

异常处理

修改密码报错,提示ERROR1054(42S22)

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

mysql>updateusersetpassword=PASSWORD("password")whereUser='root';

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

ERROR1054(42S22):Unknowncolumn'password'in'fieldlist'

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

updateusersetauthentication_string=password('password')whereuser='root';

修改密码后登录mysql失败,提示ERROR2002(HY000)

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

ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/var/run/mysqld/mysqld.sock'(2)

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

查看运行的mysql

ps-A|grepmysql

kill运行的mysql

sudopkillmysql

查看运行的mysqld

ps-A|grepmysqld

kill运行的mysqld

sudopkillmysqld

重启mysql

servicemysqlrestart

登录mysql

mysql-uroot-p

上述就是数据库技术:Linux下mysql的root密码修改方法分享的全部内容,如果对大家有所用处且需要了解更多关于mysql数据库学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/914049.html

(0)
上一篇 2021年10月28日
下一篇 2021年10月28日

精彩推荐