【Yii2.0】1.3 MySQL5.7.15修改root密码

  说明:版本更新,原来user里的password字段已经变更为authentication_string,所以5.7以前的修改方法已不适用。

Windows下:

  1.关闭mysql服务

    >net stop mysql  (其中mysql为MySQL服务名,改为自己电脑上的服务名称即可)

  2.清除或移动mysql安装目录下的data目录下的所有数据

  3.以管理员身份打开CMD,进入安装目录的bin目录,使用命令:mysqld --initialize-insecure,这个命令会生成无密码的root用户。

    >mysqld --initialize-insecure

  4.启动mysql服务

    >net start mysql

  5.使用命令:mysql -uroot -p 进入到mysql,进入时应该是不需要密码的

    >mysql -u root -p

  6.修改root密码,在5.7.15的mysql database的user表中没有password的字段了,更改为了authentication_string,所以修改root密码时使用

    >update mysql.user set authentication_string=PASSWORD('root') where user='root';

  7.刷新权限

    >flush privileges;

  8.退出

    >quit

  9.重新登录,就可以使用新设置的密码登录了。

Linux下:

  1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1,这一行配置让 mysqld 启动时不对密码进行验证

  2.重启 mysqld 服务

    >systemctl restart mysqld

  3.使用 root 用户登录到 mysql

    >mysql -u root

  4.切换到mysql数据库,更新 user 表(在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

    >update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';

  5.退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容

  6.重启 mysqld 服务,再用新密码登录即可

  附:MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在 /var/log/mysqld.log 中有记录,可以通过 cat 命令查看,找 password 关键字。找到密码后,在本机以初始密码登录,并且(也只能)通过 alter user ‘root‘@‘localhost‘ identified by ‘root‘ 命令,修改 root 用户的密码为 root,然后退出,重新以root用户和刚设置的密码进行登录即可。

posted @ 2016-09-22 11:49  骑猪南下  阅读(371)  评论(0编辑  收藏  举报