• linux下mysql-5.6忘记root密码,重置root密码详细过程


     

     

    在linux平台下使用mysql过程中忘记了root密码,对于运维和DBA来讲都是一件头疼的事情,下面来讲解下怎么进行重置mysql数据库root 密码:

    1、首先停止mysql服务进程:

     1 service mysqld stop 

    然后编辑mysql的配置文件my.cnf

    1 vim /etc/my.cnf

    找到 [mysqld]这个模块:

    在最后面添加一段代码

    1 skip-grant-tables   ##忽略mysql权限问题,直接登录

    然后保存 :wq!退出

    启动mysql服务:

    1 service mysqld start

    直接进入mysql数据库:

     1 Starting MySQL. SUCCESS! 
     2 [root@web1 ~]# mysql
     3 Welcome to the MySQL monitor.  Commands end with ; or g.
     4 Your MySQL connection id is 1
     5 Server version: 5.6.34 Source distribution
     6 
     7 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
     8 
     9 Oracle is a registered trademark of Oracle Corporation and/or its
    10 affiliates. Other names may be trademarks of their respective
    11 owners.
    12 
    13 Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    14 
    15 mysql> 

    使用mysql表,然后进行修改mysql的root密码:

    
    
     1 mysql> use mysql; ##使用mysql数据库
     2 Reading table information for completion of table and column names
     3 You can turn off this feature to get a quicker startup with -A
     4 
     5 Database changed
     6 mysql> update user set password=password("123456") where user="root";##更新密码
     7 Query OK, 4 rows affected (0.00 sec)
     8 Rows matched: 4  Changed: 4  Warnings: 0
     9 
    10 mysql> flush privileges;##刷新权限
    11 Query OK, 0 rows affected (0.00 sec)
    
    
    
     
     1 [root@web1 ~]# ps -ef |grep mysql  ##显示mysql现有的进程
     2 root      56407      1  0 17:50 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/web1.pid
     3 mysql     56533  56407  0 17:50 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/web1.err --pid-file=/data/mysql/web1.pid
     4 root      56560   1737  0 17:55 pts/0    00:00:00 grep mysql
     5 [root@web1 ~]# killall mysqld  ##删除mysql现有进程
     6 [root@web1 ~]# ps -ef |grep mysql
     7 root      56566   1737  0 17:56 pts/0    00:00:00 grep mysql
     8 [root@web1 ~]# service mysqld start ##重新启动mysql服务
     9 Starting MySQL. SUCCESS! 
    10 [root@web1 ~]# mysql -uroot -p ##使用新密码登录
    11 Enter password: 
    12 Welcome to the MySQL monitor.  Commands end with ; or g.
    13 Your MySQL connection id is 1
    14 Server version: 5.6.34 Source distribution
    15 
    16 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    17 
    18 Oracle is a registered trademark of Oracle Corporation and/or its
    19 affiliates. Other names may be trademarks of their respective
    20 owners.
    21 
    22 Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    23 
    24 mysql> 

    注意:先把mysql服务进程关闭,把添加过的跳过验证信息删除,要不然对数据库安全威胁太大,

     5.7版本

    # 设置账户密码并退出
    update user set authentication_string=password('PASSWORD') where user='root';
  • 相关阅读:
    python类库31[正则表达式匹配实例]
    Mysql百万级数据迁移实战笔记
    面试官:一千万数据,怎么快速查询?
    为什么MySQL不建议使用NULL作为列默认值?
    Redis各个数据类型最大存储量
    Rabbitmq延迟队列实现定时任务
    PHPstorm批量修改文件换行符CRLF为LF
    使用SeasLog打造高性能日志系统
    协程编程注意事项
    Rabbitmq 安装过程中常见问题(亲测可行)
  • 原文地址:https://www.cnblogs.com/pejsidney/p/9453205.html
Copyright © 2020-2023  润新知