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';