Linux里面mysql密码忘了或者root用户误删了怎么办

发布网友 发布时间:2022-02-26 19:40

我来回答

2个回答

懂视网 时间:2022-02-27 00:01

产品型号:Thinkpad E15

系统版本:centos8

软件版本:mysql 5.7

mysql忘记root密码怎么办

启动MySQL服务的时候跳过权限表认证。

停止数据库 

[root@xuegod63 ~]# systemctl stop mariadb

直接通过安全模式启动并跳过用户名认证

[root@xuegod63 ~]# mysqld_safe --skip-grant-table   &

修改密码

[root@xuegod63 ~]# mysql

MariaDB [(none)]> update mysql.user set password=password('xuegod') where user='root' and host='localhost';

通过新密码关闭数据库

[root@xuegod63 ~]# mysql

admin -uroot -pxuegod shutdown

重新启动数据库

[root@xuegod63 ~]# systemctl start mariadb

注:如果修改配置文件绕过权限表认证,则启动数据库前应删除配置文件中添加的skip-grant-tables。

新密码登录数据库

[root@xuegod63 ~]# mysql

-uroot -pxuegod

总结:

1、停止数据库

2、通过安全模式跳过安全表启动并修改密码

3、使用新密码关闭数据库后重新启动mysql

热心网友 时间:2022-02-26 21:09

修改你的my.ini或my.cnf文件,在 [mysqld] 节下加入下面一行
skip-grant-tables
然后保存并重启 MySQL 服务。 下面你就可以以任何用户名密码登陆数据库了。

(1)如果是误删了root用户,则使用下面的语句创建root用户:

insert into user set Host='localhost',User='root',Password=Password('111111'),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';

(2)如果是忘记了root用户的密码,则使用下面的语句修改root密码:

update user set Password=Password('111111') where User='root';

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com