当前位置: 首页 > 编程笔记 >

Linux下mysql的root密码修改方法

步博厚
2023-03-14
本文向大家介绍Linux下mysql的root密码修改方法,包括了Linux下mysql的root密码修改方法的使用技巧和注意事项,需要的朋友参考一下

前言

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

系统参数

服务器

 $ 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

mysql

 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服务:

 sudo service mysql stop

以安全模式启动mysql:

 sudo mysqld_safe --skip-grant-tables --skip-networking &

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

 mysql -u root

重设密码:

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

退出mysql

 mysql > quit

重启mysql

 sudo service mysql restart

密码登录:

 mysql -u root -p

异常处理

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

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

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

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

 ERROR 1054 (42S22): Unknown column 'password' in 'field list'

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

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

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

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

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

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

查看运行的mysql

 ps -A|grep mysql

kill运行的mysql

 sudo pkill mysql

查看运行的mysqld

 ps -A|grep mysqld

kill运行的mysqld

 sudo pkill mysqld

重启mysql

 service mysql restart

登录mysql

 mysql -u root -p

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 主要内容:使用mysqladmin命令在命令行指定新密码,修改MySQL数据库的user表,使用SET语句修改root用户的密码在 MySQL 中,root 用户拥有很高的权限,因此必须保证 root 用户密码的安全。修改 root 用户密码的方式有很多种,本节将介绍几种常用的修改 root 用户密码的方法。 使用mysqladmin命令在命令行指定新密码 root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 的语法格式如下: mysqladmin -u usern

  • 本文向大家介绍MySQL 修改root密码,包括了MySQL 修改root密码的使用技巧和注意事项,需要的朋友参考一下 例子            

  • 本文向大家介绍MySQL修改root账号密码的方法,包括了MySQL修改root账号密码的方法的使用技巧和注意事项,需要的朋友参考一下 MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 2: 更新mysql数据库的user表 3:使用mysqladmin命令修改 命令一般为 mysqladmin -u root -

  • 本文向大家介绍mysql 8.0.16 winx64及Linux修改root用户密码 的方法,包括了mysql 8.0.16 winx64及Linux修改root用户密码 的方法的使用技巧和注意事项,需要的朋友参考一下 连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码。 一、查询用户密码: 查询用户密码命令: host:允许用户登录的ip‘位置'%表示可以远程; user:当前数据库的用

  • 本文向大家介绍Mysql5.6忘记root密码修改root密码的方法,包括了Mysql5.6忘记root密码修改root密码的方法的使用技巧和注意事项,需要的朋友参考一下 mysql5.6忘记数据库的root密码: [root@oraserver139 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for

  • 本文向大家介绍CentOS环境中MySQL修改root密码方法,包括了CentOS环境中MySQL修改root密码方法的使用技巧和注意事项,需要的朋友参考一下 环境相关: OS:CentOS release 6.9 IP:192.168.1.10 MySQL:MariaDB-10.1.30 1. 修改前的确认 修改root密码是需要重启mysql库,确认生产真的可以重启mysql库; 确认生产是否