首页 > 代码库 > windows下新安装的mysql修改root password问题
windows下新安装的mysql修改root password问题
常用步骤:
1. 在my.ini中的mysqld下添加一行
skip-grant-tables
2.重启mysql后直接进入后,用SQL直接修改password列:
C:\> net stop mysql
C:\> net start mysql
C:\> mysql
mysql>
mysql> use mysql
Database changed
mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
ERROR 1054 (42S22): Unknown column ‘Password‘ in ‘field list‘
3. 但失败了,原因是新版的mysql(5.7以后版本)这个列已经改成了"authentication_string", 所以在会失败,正确的做法是
mysql> UPDATE user SET authentication_string=PASSWORD(‘newpassword‘) where USER=‘root‘;Query OK, 1 row affected, 1 warning (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 1mysql>
4. 从my.ini中去掉之前加入的skip-grant-tables那行, 然后重启mysql后,就可以用带password的root登录了
E:\mysql>net stop mysqlMySQL 服务正在停止.MySQL 服务已成功停止。E:\mysql>net start mysqlMySQL 服务正在启动 .MySQL 服务已经启动成功。E:\mysql>mysql -u root -pEnter password: ***********Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.15Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.mysql>
5. 这个时候还没完,你还需要在正常模式下再修改一次密码,否则杀也做了了,如下错误:
mysql> use mysqlERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
5. 而且提示很坑爹, 你必须用SET_PASSWORD, 而不是提示所说的ALTER USER
mysql> SET PASSWORD = PASSWORD(‘newpassword‘);Query OK, 0 rows affected, 1 warning (0.00 sec)mysql>use mysqlmysql>Database changed
windows下新安装的mysql修改root password问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。