zoukankan      html  css  js  c++  java
  • 数据库之mac上mysql root密码忘记或权限错误的解决办法

    【转自  http://blog.csdn.net/u014410695/article/details/50630233】

    以下方法亲测有效,过程使用的工具只有mac的终端无需workbench

    当我们通过终端连接mysql数据库时候我们会看到这样的信息

    ERROR 1045: Access denied for user: 'root@localhost' (Using 
    password: NO)
    • 1
    • 2

    或者

    ERROR 1045: Access denied for user: 'root@localhost' (Using 
    password: YES)
    • 1
    • 2

    解决上面错误的方法之一就是重新设置我们的mysql的root密码。

    1.在终端输入下面命令关闭正在运行的mysql,如果msyql没有运行可以跳过,需要输入mysql的密码。如果mysql密码忘记了,可以直接通过系统偏好设置里面关闭!

    /usr/local/mysql/bin/mysqladmin -u root -p shutdown
    • 1

    系统便好设置关闭如图 
    这里写图片描述

    2.进入mysql的bin目录执行如下命令

    $ cd /usr/local/mysql/bin
    $ sudo su  
    • 1
    • 2

    之后输入管理员密码会看到

    sh-3.2# 
    • 1

    之后我们输入下面命令以安全模式运行mysql

    sh-3.2#./mysqld_safe --skip-grant-tables &
    • 1

    运行结束我们打开mac的系统偏好设置,选择msyql,我们会发现Mysql重新运行了如图

    这里写图片描述

    回到终端点击Command + N 重新打开一个终端 
    输入

    mysql -u -root
    • 1

    这时候我们不需要密码就能进入mysql

    Your MySQL connection id is 57
    Server version: 5.7.10 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意:这里有的时候会进不来,这个时候可以尝试重启mac电脑,具体原因我也不清楚。

    3.修改root密码 
    首先执行下面命令为了能够修改任意的密码

    mysql> FLUSH PRIVILEGES;
    • 1

    之后执行修改密码的SQL语句,这里的qsd19001008可以替换你自己想要修改的密码

    mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('qsd19001008');
    • 1

    如果你的子帐号可以登录msyql你也可以尝试下面的方法

    mysql>UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
    • 1

    mysql>USE mysql
       UPDATE user SET Password = PASSWORD('newpwd')
       WHERE Host = 'localhost' AND User = 'root';
    • 1
    • 2
    • 3

    又或者

    mysql>USE mysql
       UPDATE user SET Password = PASSWORD('newpwd')
       WHERE Host = '%' AND User = 'root';
    • 1
    • 2
    • 3

    最后刷新

    FLUSH PRIVILEGES;
    • 1

    Control+D推出mysql,然后关闭安全模式数据库,这里要输入你刚才设置数据密码就好啦

    /usr/local/mysql/bin/mysqladmin -u root -p shutdown
    • 1

    到目前为止你就找回了你mysql的密码啦

    正常启动mysql数据库,输入刚才设置的密码qsd19001008

    /usr/local/mysql/share/mysql.server start
    • 1

    如果上面的命令不执行,同理到系统偏好里开启mysql服务器。

    最后执行下面的终端命令,然后输入刚才设置的密码qsd19001008我们就可以正常进入mysql啦

    $mysql -u root -p
    • 1
     
     
  • 相关阅读:
    Windows操作系统_怎样查看本机MAC地址
    Oracle数据库学习笔记_Windows环境安装部署Oracle12c
    Oracle数据库学习笔记_Windows环境卸载Oracle12c_补充版
    Oracle数据库学习笔记_Windows环境卸载Oracle12c
    如何配置管理员权限并删除文件
    mysql 区间锁 对于没有索引 非唯一索引 唯一索引 各种情况
    insert into select 堵塞update
    监控持有sql和被堵塞的sql
    insert into select * from 锁表
    SELECT /*!40001 SQL_NO_CACHE */ * INTO OUTFILE '/tmp/ClientActionTrack2015112511.txt' 不堵塞事务
  • 原文地址:https://www.cnblogs.com/rxbook/p/7678330.html
Copyright © 2011-2022 走看看