龙空技术网

Mysql重置root密码

大郎的日常笔记 41

前言:

此时大家对“mysql设置root”大概比较珍视,兄弟们都需要分析一些“mysql设置root”的相关文章。那么小编在网络上收集了一些有关“mysql设置root””的相关文章,希望大家能喜欢,你们快快来了解一下吧!

一、mysql 查看当前版本1、命令行登录后查看: 登录到MySQL服务器后,执行以下命令:

SELECT VERSION();
2、仅在命令行查看而不登录
mysql --version  mysql -V
3、版本解释 Ver 14.14 Distrib 5.7.44, for Linux (x86_64) using EditLine wrapper
Ver: 这是版本(Version)的简写,指的是MySQL服务器的版本。14.14: 这是MySQL服务器的具体版本号。在这里,14.14 可能是指开发系列版本,例如 5.7.14。Distrib: 这个词是“Distribution”的缩写,意味着这是一个分发版,通常是由第三方编译的,用于特定的操作系统和平台。5.7.44: 这是MySQL数据库管理系统的主要版本号,表明这是5.7系列的第44次更新或补丁。for Linux (x86_64): 这指定了MySQL服务器被编译和设计运行的操作系统和处理器架构。在这个例子中,它被编译为在Linux操作系统上运行,并且适用于x86_64(即64位)的处理器架构。using EditLine wrapper: EditLine是一个为读取、编辑和缓存输入而设计的库,通常用于实现命令行编辑功能,比如命令历史的记录和编辑。using EditLine wrapper 表示MySQL服务器使用了EditLine库作为其命令行编辑接口。
二、不记得mysqlroot密码重置MySQL的root密码1、停止MySQL服务。
service mysql stop
2、启动MySQL服务,跳过授权表。(1)第一种方法 : 命令行修改 启动
mysqld_safe --skip-grant-tables &
(2)第二种方法 :修改配置文件再启动
find / -name my.cnfvim /etc/my.cnf[client]port = 3306socket = /tmp/mysql.sock[mysql]prompt="MySQL [\d]> "no-auto-rehash[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 1# mysqld 模块下添加此行 ,改密码生效后重新注释掉再启动skip-grant-tables
3、登录修改密码
mysql -u root
USE mysql;UPDATE user SET Password=PASSWORD('新密码') WHERE User='root';  FLUSH PRIVILEGES;quit;

或者

USE mysql;UPDATE user SET authentication_string = password('新密码') WHERE User = 'root';FLUSH PRIVILEGES;quit;

例如:密码为 abc@123

UPDATE USER SET AUTHENTICATION_STRING = PASSWORD('abc@123') WHERE USER = 'ROOT';

MySQL 5.7及之前版本: UPDATE user SET Password=PASSWORD(‘你的新密码’) WHERE USER=’root’;

MySQL 8.0及之后版本: UPDATE user SET authentication_string = password(‘新密码’) WHERE User = ‘root’;

MySQL 8.0移除了 password 字段,取而代之的是 authentication_string 字段。

4、删除或注释掉my.cnf中的skip-grant-tables。

[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 1# mysqld 模块下添加此行 ,改密码生效后重新注释掉再启动#skip-grant-tables
5、重启MySQL服务:
/etc/init.d/mysqld restart
6、使用新密码登录
mysql -uroot  -p
三、记得mysqlroot密码可以登陆重置MySQL的root密码

知道 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

SET PASSWORD for 'root'@'%' = password('新密码');

或 有些情况下需要顺带修改plugin认证方式,可用以下写法

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码';
四、使用bin目录下mysqladmin

写法1:

mysqladmin -u root -p password 新密码;

回车后输入旧密码,再回车即可

写法2:

mysqladmin -uroot -p原密码 password 新密码;

密码会暴露在history命令上

此命令直接修改root密码

mysqladmin -u root password 新密码;

标签: #mysql设置root