MySQL 修改root密码

  • cmd
  • cd 找到mysql的bin目录下
    输入 mysql -uroot -p
    会提示输入密码(或者直接-proot)
  • 进入mysql后
    set password for root@localhost = password(‘123');

使用Navicat不小心将用户全部删除,咋办?

  1. 停止MySQL服务
mysqld --skip-grant-tables
mysql -uroot

use mysql;

-- 插入用户
insert into user(Host,User,Password) VALUES( 'localhost ', 'root ','root');

--给予权限
update user set Host='localhost',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',create_user_priv='y'
where user='root';commit;

2021/4/21

云服务器的mysql突然炸掉,root进不去,后来进去一看root用户没了?

与上面的步骤一样,但是第二步的时候还是会说安全问题,于是

mysqld --skip-grant-tables --user=root &

然后又因为mysql版本变高级了吧,直接insert不行了,字段名也变了。

所以需要

flush privileges;

GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush权限表不能少,不然也会报错的

最后还是需要给user用户权限的,可以用上面的最后的update语句应该,我是在Navicat中一个一个改的。。。

最后我打开数据库,真被攻击了,还要求我给比特币才给我恢复数据,呵呵。我想这就是关闭防火墙的缺点吧。

以下是内容:	
以下数据库已被删除:xxx。 我们有完整的备份。 要恢复它,您必须向我们的比特币地址1PmxzrYwLGkzzwMQJL9chHMtjQNACKcYCC支付0.005比特币(BTC)。 
如果您需要证明,请通过以下电子邮件与我们联系。 xiao77@tutanota.com 。 任何与付款无关的邮件都将被忽略!	
posted @ 2020-09-02 02:26  lwxx  阅读(288)  评论(0)    收藏  举报