位置:首页-常见问题-CentOS中安装了MySQL 5.7root密码问题

CentOS中安装了MySQL 5.7root密码问题

  在CentOS中安装好了MySQL 5.7之后,才想到root密码不知道。不要紧,直接重置密码。

  1.修改配置文件my.cfg

  [root@localhost ~]# vi /etc/my.cnf

  找到mysqld在之后添加

  skip-grant-tables

  保存退出

  2. 重启mysql服务

  service mysqld restart

  3.直接登陆mysql而不需要密码

  mysql -u root (直接点击回车)

  4.在mysql中输入

  update mysql.user set password=password('root') where user='root';

  (此时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list')

  5.(这是怎么回事?)原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

  update mysql.user set authentication_string=password('123456') where user='root';

  6.执行

  flush privileges

  7.退出mysql

  ,到my.cgf中把开始添加的skip-grant-tables去掉

  8.重启mysql服务

  大功告成!

  但是在有的配置环境下事实并非如此!

  9.当你登陆mysql之后你会发现,当你执行命令时会出现

  ERROR

  1820 (HY000): You must reset your password using ALTER USER statement;

  当你执行了SET PASSWORD

  = PASSWORD('123456');

  出现:ERROR

  1819 (HY000): Your password does not satisfy the current policy requirements

  10.你需要执行两个参数来把mysql默认的密码强度的取消了才行,但不建议这样做,建议修改密码强度

  set global validate_password_policy=0; set global validate_password_mixed_case_count=2;11这是你在执行 SET PASSWORD = PASSWORD('123456');


收起
展开