1、停止MySQL服务sudo /usr/local/mysql/support-files/mysql.serverstop
2、执行命令sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &表示在启动mysql时不启动grant-tables授权表,可以跳过密码验证
3、如果有navicat for mysql 工具能直接连接 localhost服务器。如果没有直接在命令行执行mysql就能直接连上mysql数据库了
4、use mysql; update user set authentication_string=PASSWORD("新密码") and ac艘早祓胂count_locked='Y'where user='root'; #之前网上很多都是用password这个字段,但是在mysql-5.7的版本中已经替换成authentication_string,导致我用password字段一直都修改不成功。为什么要加account_locked=‘Y’呢?本人遇到了另外一种情况,登录时提示账号“.... locked”,没有正常登录成功。说明user表中的account_locked被置为Y了,导致账号没锁定。所以重新来了一次上续步骤再次修改account_locked=‘Y’
5、sudo /usr/local/mysq盟敢势袂l/support-files/mysql.server restart重新启动m烤恤鹇灭ysql,用mysql -u root -p 命令,上一步如果没有设置密码,所以不用输入密码,如果能正常登录就说明已经设置已经OK。