mysql快速重置root密码

运维干货 1年前 (2022) 导航君
40 0 0

情况一,无密码

  • 实操环境mysql5.6 + centos7.2
  • 跳过授权表启动MySQL服务
# vim /etc/my.cnf
[mysqld]
skip_grant_tables

# /etc/init.d/mysqld restart
  • 查看mysql.user是否有root用户
# mysql
mysql> select user,host,password  from mysql.user;
mysql> select user,host,password  from mysql.user;
+------+------+-------------------------------------------+
| user | host | password                                  |
+------+------+-------------------------------------------+
| root | %    | *3BABF054BDCD47981D356DBFC490922DE4EDDD2A |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)
  • user用户表没有root用户
mysql> use mysql
mysql> INSERT   INTO   user   (Host,User,Password)   VALUES( 'localhost', 'root',password( '123456'));
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';commit;
mysql> flush privileges;
  • user用户表有root用户
> use mysql;
> update user set authentication_string=password('123456') WHERE user="root" AND Host='localhost';
> flush privileges;
  • 注释skip_grant_tables,重启mysql服务
# vim /etc/my.cnf
[mysqld]
##skip_grant_tables

# /etc/init.d/mysqld restart

情况二,有密码

# mysqladmin -uroot  -p123456   password   new123456
版权声明:导航君 发表于 2022年6月23日 上午8:15。
转载请注明:mysql快速重置root密码 | 第八网址导航

相关文章

暂无评论

暂无评论...