MySQL 5.7.6 以上版本的 root 密码重置

最近升级了 MySQL 至 5.7.11 版本,root 密码忘记了,按照之前的方式 mysqld_safe --skip-grant-tables 不管用了,因为从 5.7.6 版本开始默认是不安装 mysqld_safe 了,如下:

下面为 MySQL 5.7.6 版本以上重置 root 密码的方法:

1,停止 mysql 服务

[[email protected] usr]# systemctl stop mysqld

2,设置 mysqld 选项 --skip-grant-tables 参数

[[email protected] usr]# systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

3,重新启动 mysql

[[email protected] usr]# systemctl start mysqld

4,执行 mysql -u root 登录 mysql,并更改密码

[[email protected] usr]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.11 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> UPDATE mysql.user
    ->     SET authentication_string = PASSWORD(‘newrootpasswd‘), password_expired = ‘N‘
    ->     WHERE User = ‘root‘ AND Host = ‘localhost‘;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

5,重置完密码后,去掉 --skip-grant-tables 参数后,重启 mysql

[[email protected] usr]# systemctl unset-environment MYSQLD_OPTS
[[email protected] usr]# systemctl restart mysqld
[[email protected] usr]# mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.11 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql>
时间: 2024-10-06 10:00:01

MySQL 5.7.6 以上版本的 root 密码重置的相关文章

Ubuntu下MySQL忘记root密码重置

MySQL忘记root密码肿么办?-_-|||   这种情况虽然不是很常见,但是有时长时间没有登录系统,还真会忘记密码.这时候,如果您能以系统管理员权限登陆密码,那还是有救的.放大招,将其重置即可. 1. 修改MySQL的登录设置 vi /etc/mysql/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables :wq 保存设置并退出vi 2. 重新启动mysqld sudo service mysql restart 3. 登录并修改MySQL的root密码  进

MySQL root密码重置 报错:mysqladmin: connect to server at 'localhost' failed的解决方案

===========================================================二,忘记本地root的登录密码解决过程:1.编辑/mysql/my.ini在[mysqld] 配置部分添加一行skip-grant-tables 2.保存后重启mysql[[email protected] etc]# service mysqld restartShutting down MySQL.                                      

修改MySQL 5.7.9版本的root密码方法以及一些新变化整理

MySQL 5.7版本开始,增强密码验证机制,网上说安装的时候会在/root/.mysql_secret  文件中生成默认密码,这一点自 5.7.6版本以后也去掉了. 针对如果生成默认密码,网上有一个版本,内容如下: 1.修改配置文件,一般在 /etc/my.cnf, 在[mysqld]字段下增加skip-grant-tables 字段,用以忽略权限验证: 2.重启MySQL服务器,CentOS 7.0操作命令是: 1 systemctl restart mysqld.service 3.使用m

MySQL的root密码重置

设置MySQL root密码: #mysqladmin -uroot password 'qiangge'(划线部分为root密码) # mysql -uroot -pqiangge 如果忘记MySQL root密码,解决方法如下: (1)编辑MySQL主配置文件 my.cnf #vim /etc/my.cnf 在[mysqld]字段下添加参数 skip-grant (2)重启数据库服务 #service mysqld restart (3)这样就可以进入数据库不用授权了 # /usr/loca

mysql root 密码重置

前情:入职的当天,前任就离职了,除了留下IP地址和域名的对应关系和几个ftp账号密码以外啥都没有,因为公司和他有些利益没有结算清楚,所以很多问题也不配合交接.无奈重置官网mysql的root密码 步骤1:在少人使用的时候 vim /etc/my.cnf 在[mysqld]的段中加一句:skip-grant-tables 保存退出vi 步骤2:重启mysqld :service mysqld restart 步骤3:输入mysql命令 USE mysql; UPDATE user SET Pass

mysql root密码重置

1.修改my.cnf #位置一般是 /etc/my.cnf 2.重启mysql服务 service mysqld restart 3.进入mysql mysql -uroot -p 然后直接回车 4.修改密码 use mysql; UPDATE user SET Password = PASSWORD('密码') WHERE user = 'root'; FLUSH PRIVILEGES; exit; 5.完成!

Mac下忘记Mysql root密码重置

很久之前安装的mysql 在 mac本机,突然要用的时候,发现怎么也连接不上,网上找了很多的教程尝试都不成功,最后找到一篇尝试成功.感谢原博主的分享转载在下面进行记录,出处: http://blog.csdn.net/u014410695/article/details/50630233 以下方法亲测有效,过程使用的工具只有mac的终端无需workbench 当我们通过终端连接MySQL数据库时候我们会看到这样的信息 ERROR 1045: Access denied for user: '[e

LAMP - MySQL的root密码重置

登录数据库时,可能会忘记密码,怎么办呢? 方法:编辑mysql配置文件,不让mysql去授权:之后输入mysql无用户登录,因为是root用户,所以在mysql库里进行密码的重置 mysql密码重置过程及语句: [[email protected] ~]# mysql -uroot ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 不输入密码登录会报错 [[email protec

linux下mysql的root密码重置,不适用集成安装包

1.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables  例如: [mysqld]  datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables  保存并且退出vi. 2.新启动mysqld # /etc/init.d/mysqld restart  Stopping MySQL: [ OK ]  Starting MySQL: