zoukankan      html  css  js  c++  java
  • Linux下MySQL忘记密码的解决方法

    1.先停止MySQL服务
    sudo systemctl stop mysql

    2.用MySQL安全命令启动,跳过权限表和网络
    sudo mysqld_safe --skip-grant-tables --skip-networking &

    末尾的&符号的作用是让进程在后台运行,可以让用户继续输入命令。
    执行此命令后,就可以使用#mysql -u root免密登录了。

    3.如果输入该命令后返回以下错误提示
    2018-02-12T08:57:39 mysqld_safe Directory '/var/run/mysqld' for UNIX
    socket file don't exists. mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket
    '/var/run/mysqld/mysqld.sock' (2) [1]+ Exit 1

    # 创建MySQL服务目录
    sudo mkdir /var/run/mysqld

    # 修改该目录的读写权限
    sudo chown mysql: /var/run/mysqld

    4.运行第2点的命令

    5.运行mysql -u root命令免密登录MySQL。
    mysql> FLUSH PRIVILEGES;

    # 对于MySQL 5.7.6及以上版本
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

    # 对于MySQL 5.7.5及以下版本
    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

    # 如果以上命令报错,就运行以下命令
    mysql> UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root' AND Host='localhost';

    6.停止该安全服务,用kill命令终止进程
    sudo kill `cat /var/run/mysqld/mysqld.pid`

    # 如果命令报错,就运行以下命令
    sudo pkill mysql

    7.重启正常的MySQL服务
    sudo systemctl start mysql

  • 相关阅读:
    ipmitool常用命令
    linux系统/var/log目录下的信息详解
    查看vnc server的日志
    Hp服务器 iLO3 使用方法
    phalcon builder 用法
    cobbler pxe-menu
    几种session存储方式比较
    parse arguments in bash
    No breeds found in the signature, a signature update is recommended
    Mybatis-plus使用分页进行分页查询
  • 原文地址:https://www.cnblogs.com/live41/p/14236527.html
Copyright © 2011-2022 走看看