在linux中操作mysql误删root用户的应对方法

1.停止数据库
[[email protected] ~]# /etc/init.d/mysqld stop

2.跳过授权表启动mysql
[[email protected] ~]# mysqld_safe --skip-grant-tables --skip-networking &

3.尝试创建用户
mysql> create user [email protected]‘localhost‘ identified by ‘123‘;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

4.插入root用户
mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) values(‘localhost‘,‘root‘,PASSWORD(‘123‘),‘‘,‘‘,‘‘);

insert into mysql.user values (‘localhost‘,‘root‘,PASSWORD(‘123‘),
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘‘,
‘‘,
‘‘,
‘‘,0,0,0,0,‘mysql_native_password‘,‘‘,‘N‘);

(不好的地方要加--skip-networking,不然数据其他人也能通过远程连接进入数据库,让数据不安全)

方法二:

(刷新,数据库)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘;
Query OK, 0 rows affected (0.00 sec)

授权超级用户
grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘ with grant option;

原文地址:https://www.cnblogs.com/sudaguo/p/10840543.html

时间: 2024-10-01 04:58:28

在linux中操作mysql误删root用户的应对方法的相关文章

mysql误删root用户恢复方案

linux下误删mysql的root用户,解决方法 开始对liunx界面不熟悉,可能由于不小心,把root误删了,怎么办? 1. # killall mysqld    干掉所有mysql进程 2. # mysqld_safe --skip-grant-tables &   进入mysql安全模式 3. 通过上一步进入mysql的console(控制台),输入:mysql -p 以root用户进入系统,因为root用户是默认存在的,前面我们误删的只是mysql表了的. 4. 提示,Enter p

MySQL重置root用户密码的方法

本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程序或MySQL管理软件连接MySQL服务器时密码错误,会出现"1045 - Access denied for user 'root'@'localhost'(using password:YES)"的错误提示,如下图: 当确认已经忘记MySQL密码,则可以通过以下方案重置root用户密码

mysql误删root用户

在操作mysql时误删除root用户,如何进行恢复 在安装hive时候误删除root用户,存在的用户没有权限,解决方法如下. 1.首先在/etc/my.cnf文件中 mysqlID下面添加 skip-grant-tables 用来跳过安全密码验证 2.在服务上重启mysql服务 [root@master2 bin]# systemctl restart mysqld.service 3.使用mysql直接进入mysql [root@master2 bin]# mysql 4.使用mysql数据库

linux下重置mysql的root用户密码

如果忘记了MySQLroot密码,可以用以下方法重新设置: 1.停掉系统里的MySQL进程:     killall-TERM mysqld 2.用以下命令启动MySQL,以不检查权限的方式启动:进入到mysql的bin下     ./mysqld_safe--skip-grant-tables & 3.然后用空密码方式使用root用户登录 MySQL:    mysql -uroot 4.修改root用户的密码:     mysql>update mysql.user set passwo

CentOS中对MySql的root用户重置密码

由于一般的修改ini文件来完成无密码登录数据库容易造成较大风险,所以使用修改启动服务参数的方式来更新user表,达到无密码登陆的目的. 1.关闭系统下运行的mysql服务 (1)杀掉进程号达到关闭目的 先使用ps -ef|grep mysql查找进程号,然后使用kill+ PID的方式杀掉进程. (2)使用systemctl工具来关闭mysql服务 systemctl stop mysql 2.修改mysql的启动选项更新user表,达到无密码登陆的效果 systemctl set-enviro

Linux下忘记MySQL的root密码的解决方法

恢复方法之一 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: vim /etc/my.cnf 在[mysqld]的段中加上一

在Linux环境下mysql的root密码忘记解决方法

mysql版本不同,修改密码的方法大同小异,但是有一定的区别: mysql5.1 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 2.修改MySQL的登录设置:# vi /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出 3.重新启动mysqld service mysqld restart 4.登录并修改MySQL的root密码 mysql> USE mysql ;mysql> UPDATE user SE

Mark一下 mysql 误删除root用户的解决方法

今天学习mysql用户管理,不小心将mysql.user表中的root用户给删掉了,然后就无法登录mysql了,网上找到了linux下的解决方法,我做了简单的修改,改成了我的windows版,恢复方法如下: 1.关闭mysql服务 net stop mysql 或者 wamp工具关闭 2.启动无需验证用户的特权使用模式 切换到mysql的bin目录,执行mysqld  --console --skip-grant-tables 3.使用root用户登录(没有密码),重新授权 grant all

***在Linux环境下mysql的root密码忘记解决方法(三种)-推荐第三种

MySQL密码的恢复方法之一 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: ? 1 # vi /etc/my.cnf 在[