MySQL数据库root权限丢失解决方案

一天不小心把ROOT的权限改到最小了(只能登录,什么都做不了),这可急死我了.重装的话太麻烦,而且里面有很多的用户,一个个重新弄不知道到什么时候。

后来我想了一个办法,先把当前服务器的MySQL服务停止,把MySQL DATa目录下的mysql目录改名为mysql_OLD,到另一个服务器下把mysql目录下的/data/mysql目录复制到对应目录,然后启动MySQL服务,使用另一服务器下的root 的帐号登录到PHPmyadmin,进去之后可以看到有全部的操作权限了,但这个数据表中没有当前服务器中的数据库项目和用户信息。这时再找到mysql_OLD数据库,进去之后到user表,找到第一个 root localhost表段,修改:把所有的N改为Y。然后再停止mysql服务,把新复制过来的mysql删除,把mysql_old更名为mysql,再启动服务器后用root登录,发现权限已经全部回来了。

时间: 2024-10-17 22:45:56

MySQL数据库root权限丢失解决方案的相关文章

mysql数据库root权限丢失(密码丢失)

今天同事,调整mysql安全,在删除用户的时候误删了 [email protected],后来加进去了,但是在登录发现数据库很多库都没有了,顿时懵逼,考虑恢复数据,稍后我看到了,想起当年也出现过类似情况,主要是因为root用户没有权限,所以跳过授权表,经过查询权限,真的缺少,所以将其都由N改为Y ,在次测试,OK,以下是处理步骤. 第一步,跳过授权表登录mysql 1.pkill 停止 实例进程 2.mysqld_safe --defaults-file=/data/3306/my.cnf --

MySQL数据库root密码丢失破解方法

MySQL密码丢失破解方法 第1章 单实例破解方法 1.1 停止mysql服务 [[email protected] ~]# /etc/init.d/mysqld stop Shutting down MySQL. SUCCESS! 1.2 重新启动mysql启动 直接使用mysqld_safe命令启动,并添加参数--skip-grant-tables,跳过权限认证表 [[email protected] ~]# mysqld_safe --skip-grant-tables & [1] 598

MySQL数据库root密码丢失后的找回

实验前准备:1.环境端口3306 该实例是生产环境,欲找回3306的 root密码测试3307 测试时使用2.开启 3306,3307 mysqld 服务 [[email protected] ~]# mysqld --defaults-file=/data/mysql/mysql3306/my.cnf & [[email protected] ~]# mysqld --defaults-file=/data/mysql/mysql3307/my.cnf & 两种方法:一.使用 skip_

设置、修改及找回 MySQL 数据库 root 用户的密码

1. MySQL 数据库用户安全策略介绍 安装 MySQL 数据库后,默认的管理员 root 密码为空,很不安全,需要设置密码.针对 MySQL数据库的用户处理,还有更严格的做法: ① 增加 system 并提升权限为超级管理员,即和 root 等价的用户,只是名字不同.     mysql> grant all privileges on *.* to [email protected]'localhost' identified by 'alinuxer123' with grant opt

如何修改Linux服务器的MySQL数据库root密码

测试服务器密码知道的人太多了,mysql root账号密码竟然被修改.... 总结一下修改mysql数据库root密码的办法,呵呵大 分两种情况一.拥有原来的myql的root的密码: 方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p password "test123"Enter password: [输入原来的密码] 方法二:通过登录mysql系统,# mysql -uroot -pEnter password: [输入原来的密码]

Emoji表情符号录入MySQL数据库报错的解决方案

前言:手机app应用评论的时候,恢复表情符号,提示失败.?1,查看tomcat后台日志,核心报错信息如下:  Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)at com.mysql.

MySQL数据库远程访问权限如何打开(两种方法)

MySQL数据库远程访问权限如何打开(两种方法) 下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "

Mysql 数据库的权限问题

之前一直对Mysql数据库的权限没太理解 root用户具有最高的权限,也就是超级用户,root用户可以看到数据库中的所有的内容,而其它用户只能对经过root用户授权过的数据库进行操作,如果想在其它用户中创建新的数据库       而对root用户不可见,是不行的,而将其它用户的权限设置成: grant all on *.* to 'my_user'@'localhost'; 这时,其它用户的权限相当于root 用户,没有实际意义. revoke all on *.* from 'my_user'

linux下恢复mysql的root权限方法

一不小心把mysql的root权限全部撤销了,网上找了很多方法来恢复,经过实践,发现这一个方法是可行的,特地记下来. 1.先敲一下 service mysqld stop 命令,这个命令的作用的停掉mysql.2.安全模式启动mysql,命令为:/usr/bin/mysqld_safe --skip-grant-tables (其中参数--skip-grant-tables的意思是跳过数据库验证)3.mysql -u root -p 登录mysql,不需要填写密码.4.选择数据库表mysql,命