mysql数据库的root被删除,重新添加
平台:windows 10
第一步:停止MySQL的服务:net stop mysql
第二步:命令行进入到MySQL的安装目录bin;
第三步:跳过权限检查启动MySQL:mysqld ––skip-grant-tables
第四步:重新打开一个命令窗口。
mysql> use mysql
mysql> insert into user set user='root',ssl_cipher=''x509_issuer='',x509_subject='';
mysql>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';
mysql>exit;
第五步:杀死MySQL进程,重启Mysql服务:
mysqld --initialize;
net start mysql;
第六步:关闭跳跃权限启动
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
注意:
–skip-grant-tables:顾名思义,数据库启动的时候 跳跃权限表的限制,不用验证密码,直接登录。
这种情况只有在忘记root密码 不得已重启数据库的情况下使用的。现网环境慎用,需要重启数据库,并且安全性也比较难以保证
具体原因应该是–skip-grant-tables在命令行的时候,使得数据库只能是只读的权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步