前言
在服务部署在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