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在命令行的时候,使得数据库只能是只读的权限

猜你喜欢

转载自www.cnblogs.com/Lxiaoxiang/p/9496755.html