Mysql误删root权限

lnmp database del root

误删了数据库的root账号和权限,导致数据库连接不上。密码怎么输都不对,其实原因是整个root账号的权限被删除了,折腾了好久。恢复的方法是:

编辑/etc/my.cnf 在[mysqld] 下面添加一行 skip-grant-tables
重启mysql:/etc/init.d/mysql restart
运行: mysql 命令
mysql命令模式下一次运行(下面insert语句里的vpser.net为密码,自己可以修改):
use mysql;
insert into user set Host=’localhost’,User=’root’,Password=Password(‘123456′),select_priv=’y’, insert_priv=’y’,update_priv=’y’, Alter_priv=’y’,delete_priv=’y’,create_priv=’y’,drop_priv=’y’,reload_priv=’y’,shutdown_priv=’y’,Process_priv=’y’,file_priv=’y’,grant_priv=’y’,References_priv=’y’,index_priv=’y’,create_user_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’;
quit;
前面insert语句不保存的话就成功了,删掉前面添加的 skip-grant-tables
再重启mysql就行了

select password(‘Ilovevivian1129!);

update user set password=password(‘123456’) where user=’root’;

 

mysql 常用命令:https://www.cnblogs.com/shenqz/p/6962493.html

 

show databases;

use <database name>;
use mysql;

show tables;

select * from <table name>
select * from user

update user set password=password(‘123456′) where user=’root’;

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注