mysql user表root 用户误删除解决方法

1、先以root用户登录系统;

2、关闭mysql服务:/etc/init.d/mysql stop;

3、特权启动mysql:/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &(注:参数--skip-grant-tables为跳过授权表)

4、登录跳过授权表的数据库:#mysql -uroot -h localhost

5、查看user表:mysql> select Host,User,Password from mysql.user;

6、插入root表:mysql> INSERT INTO mysql.user (Host,User,Password,ssl_cipher,x509_issuer,x509_subject,authentication_string) VALUES(‘localhost‘, ‘root‘,password(‘123456‘),‘‘,‘‘,‘‘,‘‘);

7、在root表添加root的所有权限:

1) 查询权限

select * from mysql.user where user=‘root‘ and host=‘localhost‘\G

2) update mysql.user set Select_priv=‘Y‘,Insert_priv=‘Y‘,Update_priv=‘Y‘,Delete_priv=‘Y‘,Create_priv=‘Y‘,Drop_priv=‘Y‘,Reload_priv=‘Y‘,Sh=‘Y‘,Shutdown_priv=‘Y‘,Process_priv=‘Y‘,File_priv=‘Y‘,Grant_priv=‘Y‘,References_priv=‘Y‘,Index_priv=‘Y‘,Alter_priv=‘Y‘,Show_db_priv=‘Y‘,Super_priv=‘Y‘,Create_tmp_table_priv=‘Y‘,Lock_tables_priv=‘Y‘,Execute_priv=‘Y‘,Repl_slave_priv=‘Y‘,Repl_client_priv=‘Y‘,Create_view_priv=‘Y‘,Show_view_priv=‘Y‘,Create_routine_priv=‘Y‘,Alter_routine_priv=‘Y‘,Create_user_priv=‘Y‘,Event_priv=‘Y‘,Trigger_priv=‘Y‘,Create_tablespace_priv=‘Y‘ where User=‘root‘ and Host=‘localhost‘;

3)验证权限

select * from mysql.user where user=‘root‘ and host=‘localhost‘\G

8、交&刷新权限

commit;

flush prvilileges;

9、重启mysql

[[email protected] ~]# /etc/init.d/mysqld restart

10、登录验证

mysql -u root -p

mysql> show grants;

时间: 2024-10-09 06:36:02

mysql user表root 用户误删除解决方法的相关文章

Mysql user表root用户误删除后恢复

mysql user表root 用户误删除后恢复root用户 方法/步骤 1.停止mysql服务:在mysql安装目录下找到my.ini:在my.ini中找到以下片段[mysqld]:另起一行加入代码:skip-grant-tables 并保存 2.启动mysql服务,并登录mysql(无用户名和密码):找到user表加入root用户INSERT INTO user (Host,User,Password) VALUES( 'localhost ', 'root ',password( '123

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

Ubuntu-MySQL忘记root用户密码解决方法

MySQL忘记root用户的密码解决方法 MySQL版本: 5.7.26 Ubuntu版本:18.04.2 LTS 在Ubuntu上的MySQL如果忘记了root用户密码,有两种解决方法: 方法一.跳过授权,免密登录 关闭正在运行的MySQL服务 service mysql stop 打开终端,输入 mysqld --skip-grant-tables 意思是启动MySQL服务的时候跳过权限表认证. 再开一个终端,输入mysql,然后回车,如果成功,将出现MySQL提示符 mysql> 开始修改

centos下MYSQL 没有ROOT用户的解决方法。

SbTest for using sysbench creating scritps: sysbench --test=oltp --oltp-table-size=100000 --mysql-db=test --mysql-user=root --mysql-password=V79mk4zfdv --db-driver=mysql  prepare;sysbench 0.4.12:  multi-threaded system evaluation benchmark

利用lnmp一键安装的php环境忘记mysql,root用户密码解决方法

1.cd /lnmp1.5/tools/ 2.sh reset_mysql_root_password.sh 这样,即可完成修改! 原文地址:https://www.cnblogs.com/teamemory/p/9493614.html

Mac下新安装的MySQL无法登陆root用户解决方法

一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile 如果已存在删除:  sudo rm -rf .bash_* 2.输入 i 3.然后粘贴以下内容 # mysql alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin' # ls ali

Centos下忘记mysql的root密码的解决方法

Centos下忘记mysql的root密码的解决方法 一:(停掉正在运行的mysql) [[email protected] ~]# service mysql stop 二:使用 “--skip-grant-tables”参数重新启动mysql [[email protected] ~]# mysqld_safe --skip-grant-tables & [1] 23810 Starting mysqld daemon with databases from /var/lib/mysql 三

【转】mysql忘记root密码的解决方法

本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 方法一:在windows下:1.打开命令行(DOS)窗口,停止mysql服务: net stop mysql 2.在DOS下面进入mysql的安装路径下的 bin目录,如 D:\mysql\bin 3. 输入并执行命令: mysqld-nt --skip-grant-tables (此命令执行后该窗口就停住了) 4.另外打开一个命令行窗口,执行mysql >use mysql >update user set p

Ubuntu下连接mysql出现 ERROR 1698 (28000): Access denied for user 'root'@'localhost'错误解决方法

ubuntu版本:18.04    mysql版本:5.7.24 ubuntu安装mysql后用root账户登入会出现问题:ERROR 1698 (28000): Access denied for user 'root'@'localhost' 可能是因为初始密码为空:按空格回车后还是报一样的错 这样就只能使用debian-sys-maint账户修改root账户密码了. debian-sys-maint账户是安装mysql时系统自动生成的mysql用户,debian和ubuntu系统都会这样做