操作步骤如下:
1、用mysql原密码登陆mysql -uroot -p原密码
2、mysql>use mysql
mysql>UPDATE user SET Password=('新密码') WHERE user='root';
mysql>flush privileges;
mysql>exit退出后再用mysql -uroot -p新密码就登陆不了,提示
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)请高手指点一下,谢谢!
1、用mysql原密码登陆mysql -uroot -p原密码
2、mysql>use mysql
mysql>UPDATE user SET Password=('新密码') WHERE user='root';
mysql>flush privileges;
mysql>exit退出后再用mysql -uroot -p新密码就登陆不了,提示
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)请高手指点一下,谢谢!
解决方案 »
- 创建一个带参存储过程:我想传入字段值而不是字段名
- 尽量减少mysql的内存暂用
- windows下导出的MySQL文件能不能在linux下用?
- mysql运行一段时间后就必须重新启动服务才能正常运行?
- 求助:在C语言里调用SQL语句删除一行出错,在MYSQL命令行里执行相同的语句却成功。
- 这个循环的sql怎么样能提高效率?
- 查询速度问题(100W)------在线等待
- mysql create database user_info建的数据库在哪里,在MYSQL文件夹里面都找不到!
- 经常听说一些十万级,百万级数据库,请问这个十万级,百万级是指的什么?
- mysql可视化工具连接数据库连接不上
- 数据库访问缓慢问题(散分在线等)
- 关于mysql字符集问题请教
重置方法:
通过发送一个kill(不是kill -9)到mysqld服务器来关闭mysqld服务器。pid 被保存在一个.pid文件中,通常在MySQL数据库目录中:
kill `cat /mysql-data-directory/hostname.pid`你必须是一个UNIX root用户或运行服务器的相同用户做这个。使用--skip-grant-tables选项重启mysqld。
用mysql -h hostname mysql连接mysqld服务器并且用一条GRANT命令改变口令。见7.26 GRANT和REVOKE句法。你也可以用mysqladmin -h hostname -u user password 'new password' 进行。
用mysqladmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES来装载权限表。
6.12 怎样设置口令
在前面小节的例子里说明了一个重要的原则:当你使用INSERT或UPDATE语句存储一个非空的口令时,你必须使用PASSWORD()函数加密它。这是因为在user表中以加密形式存储口令,而不是作为纯文本。如果你忘记这个事实,你可能像这样试图设置口令: shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password) VALUES('%','jeffrey','biscuit');
mysql> FLUSH PRIVILEGES结果是纯文本值'biscuit'作为口令被存储在user表中。在用户jeffrey试图用这个口令连接服务器时,mysql客户用PASSWORD()加密它并且将结果送给服务器,服务器比较在user表中的值(它是纯文本值'biscuit')和加密的口令(而不是 'biscuit'),比较失败并且服务器拒绝连接: shell> mysql -u jeffrey -pbiscuit test
Access denied因为当他们被插入user表时,口令必须被加密,相反,INSERT语句应该象这样被指定: mysql> INSERT INTO user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));当你使用SET PASSWORD语句时,你也必须使用PASSWORD()函数: mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit'); 如果你使用GRANT ... IDENTIFIED BY语句或mysqladmin password命令设置口令,PASSWORD()函数是不必要的。他们都考虑到为你加密口令,多以你可像这样指定一个口令'biscuit': mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';或shell> mysqladmin -u jeffrey password biscuit
注意: PASSWORD()不是以在Unix口令加密的同样方法施行口令加密。你不应该假定如果你的Unix口令和你的MySQL口令是一样的,PASSWORD()将导致与在Unix口令文件被存储的同样的加密值。见6.2 MySQL 用户名和口令。