MySQL 修改root密码
- cmd
- cd 找到mysql的bin目录下
输入 mysql -uroot -p
会提示输入密码(或者直接-proot) - 进入mysql后
set password for root@localhost = password(‘123');
使用Navicat不小心将用户全部删除,咋办?
- 停止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 。 任何与付款无关的邮件都将被忽略!
知识离开了脑子,就只是一堆文字