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

  • 相关阅读:
    非root用户在linux下安装多个版本的CUDA和cuDNN(cuda 8、cuda 10.1 等)
    python相关总结
    可视化滤波器
    Ubuntu 和windows程序区别
    远程服务器运行代码相关
    Ubuntu
    jmeter学习(1)基础支持+安装部署
    python中eval方法的使用
    mysql学习(4)python操作数据库
    mysql学习(3)10045错误,连接不上数据库
  • 原文地址:https://www.cnblogs.com/live41/p/14236527.html
Copyright © 2011-2022 走看看