MYSQL数据库Linux下mysql的root密码修改方法
《MYSQL数据库Linux下mysql的root密码修改方法》要点: 前言 在服务部署在mysql上应该有好几个月了,因为现在的工作基本都在终端,因此很少登陆,今天要修改个东西,忽然发现我竟然已经彻底忘记了mysql的密码,去代码里面爬终于找到了业务数据库的密码,但是root密码还是没有找到,权限没法改呀,于是开始爬坑之旅,估计以后还会遇到,就整理记录一下.需要的朋友们一起来看看吧.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,可以直接以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 异常处理 修改密码报错,提示ERROR 1054 (42S22) 在修改密码的时候,网上比较多的文档都是提示输入一下命令修改: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实例 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实例 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |