很久没有使用本地的 MySQL,今天就遇到 MySQL 忘记密码无法登录的尴尬场面,怪自己没有记录密码的习惯。最后还是 stackoverflow 帮了大忙。

  1. 关闭 MySQL 服务(如果开启的话)

    1
    > sudo /usr/local/mysql/support-files/mysql.server stop
  2. 跳过授权登录

    1
    > sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
  3. 启动 MySQL 服务(另开窗口)

    1
    > sudo /usr/local/mysql/support-files/mysql.server start
  4. 免密登录

    1
    > sudo /usr/local/mysql/bin/mysql -uroot
  5. 修改密码

    1
    2
    3
    > use mysql;
    > update user set authentication_string=password('root') where user='root';
    > quit;
  6. 重启

    1
    > sudo /usr/local/mysql/support-files/mysql.server restart