MacbookPro 安装完mysql后,登录出现错误error: 'Access denied for user 'root'@'localhost' (using password: NO)'

先停止MySQL服务

打开“系统偏好设置”,选择“MySQL”,在打开的对话框中点击“Stop MySQL Server“


  1. 打开终端,输入命令:sudo /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 

    --skip-grant-tables:不启动grant-tables(授权表),跳过权限控制。

    --skip-networking :跳过TCP/IP协议,只在本机访问(这个选项不是必须的。可以不用)

    connect to server at 'localhost' failed
  2. 保留开启mysqld_safe的终端,新建一个终端,输入命令:mysql

    此时我们就可以直接登录到MySQL服务了。


  3. 查询MySQL的用户信息,输入SQL命令:

    select host,user,authentication_string from user;

    这一步骤熟悉的人可以跳过,在mysql 5.7以前的版本,密码列的英文名是password,但是在5.7版本改成了authentication_string,这点是需要注意的。

    MacbookPro 安装完mysql后,登录出现错误error: 'Access denied for user 'root'@'localhost' (using password: NO)'_第1张图片




  4. 我们只需要重置用户名为root的密码就可以,输入SQL命令:

    update user set authentication_string=PASSWORD('123456') where user='root' and host='localhost';

    connect to server at 'localhost' failed
  5. 6

    新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效

    connect to server at 'localhost' failed

你可能感兴趣的:(MacbookPro 安装完mysql后,登录出现错误error: 'Access denied for user 'root'@'localhost' (using password: NO)')