环境:msyql版本5.0,windows操作系统
034039->123456
C:\Users\ASUS>mysqladmin -u root -p034039 password 123456 C:\Users\ASUS>mysql -u root -p123456 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 32 Server version: 5.0.96-community-nt MySQL Community Edition (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
大坑:
这条语句C:\Users\ASUS>mysqladmin -u root -p123456 password '034039';
其实新的密码为'034039';
也就是说单引号被解释为密码的一部分
你说坑不坑
C:\Users\ASUS>mysqladmin -u root -p123456 password '034039'; C:\Users\ASUS>mysql -u root -p'034039' ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) C:\Users\ASUS>mysql -u root -p'034039'; Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 35 Server version: 5.0.96-community-nt MySQL Community Edition (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
类似的有
C:\Users\ASUS>mysqladmin -u root -p'034039'; password "123456" C:\Users\ASUS>mysql -u root -p"123456" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 37 Server version: 5.0.96-community-nt MySQL Community Edition (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> Ctrl-C -- exit! Bye
现在mysql的密码是什么?其实是123456,不带双引号
则:
C:\Users\ASUS>mysqladmin -u root -p034039 password "123456" C:\Users\ASUS>mysql -u root -p123456 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 44 Server version: 5.0.96-community-nt MySQL Community Edition (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statemen mysql>
也就是说在Windows中,一定要使用双引号,双引号不会被解释为密码的一部分。当密码中有空格时,要使用双引号
如果密码输错了就会出现这样的错误:
C:\Users\ASUS>mysql -u root -p123 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
停止mysql服务
D:\>net stop mysql MySQL 服务正在停止. MySQL 服务已成功停止。
打开mysql的配置文件my.ini
在[mysqld]下加入该条语句
skip-grant-tables
保存退出
然后重新启动mysql
D:\>net start mysql MySQL 服务正在启动 . MySQL 服务已经启动成功。
登录mysql,不使用密码可以直接登录
D:\>mysql -h localhost -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.96-community-nt MySQL Community Edition (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
执行下面命令
mysql> use mysql; Database changed mysql> update user set password = password("123456") where user = "root"; Query OK, 2 rows affected (0.06 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye
现在设置了登录密码为123456。应该删除skip-grant-tables这条语句,然后重新启动,现在就可以使用新密码登陆了。