惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Engineering at Meta
Engineering at Meta
腾讯CDC
宝玉的分享
宝玉的分享
H
Help Net Security
I
InfoQ
博客园 - Franky
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
博客园_首页
美团技术团队
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
The Cloudflare Blog
博客园 - 司徒正美
Vercel News
Vercel News
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
月光博客
月光博客

博客园 - 子福当自强

vue element plus el-dropdown实现command传递多个参数最简单方式 centos 8 安装 nodejs npm centos 8 安装 minio centos 8 安装 ngingx 1.20 centos 8 安装 mysql 8 centos 8 安装 redis 6 centos 8 rpm安装oracle jdk 11 CentOS 8.2远程连接vncserver升级后1.10.1无法启动解决记录 Eclipse:Cannot complete the install because of a conflicting dependency.问题解决 Android SDK更新以及ADT更新出现问题的解决办法 Visual Studio 2013开启JavaScript的智能提示功能 Oracle 物化视图 说明 linux下mysql字符集编码问题的修改 mysql 启动错误-server PID file could not be found 在linux安装mysql,并设置远程访问 mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决 linux 下面 jdk1.7 rpm 包的安装 java数据库连接池性能对比 网页导航栏设计模式
linux中mysql密码找回的两种方式
子福当自强 · 2014-10-15 · via 博客园 - 子福当自强

方法一:修改my.cnf配置文件

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 
2.修改MySQL的登录设置: 
# vi /etc/my.cnf 
在[mysqld]的段中加上一句:skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 
保存并且退出vi。 
3.重新启动mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ] 
4.登录并修改MySQL的root密码 
# /usr/bin/mysql 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 3 to server version: 3.23.56 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
mysql> USE mysql ; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 
Database changed 
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 2 Changed: 0 Warnings: 0 
mysql> flush privileges ; 
Query OK, 0 rows affected (0.01 sec) 
mysql> quit 
Bye 
5.将MySQL的登录设置修改回来 
# vi /etc/my.cnf 
将刚才在[mysqld]的段中加上的skip-grant-tables删除 
保存并且退出vi。 
6.重新启动mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]

在linux中采用rpm文件安装的mysql找不到my.cnf文件,可以使用第二种方式

方法二:mysql启动时加上跳过授权的启动参数--skip-grant-tables

 1、杀掉原来进行着的mysql:
       rcmysqld stop
       或者:
       service mysqld stop
       或者:
       kill -TERM mysqld
    2、以命令行参数启动mysql:
       /usr/bin/mysqld_safe --skip-grant-tables &
    3、修改管理员密码:
       use mysql;
       update user set password=password('yournewpasswordhere') where user='root';
       flush privileges;
       exit;
    4、杀死mysql,重启mysql

实验过第二种方式:亲测可用

MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决

mysql>  SET PASSWORD = PASSWORD('123456');