yos*_*ssi 24 mysql linux passwords redhat
我在redhat linux上安装了MySQL服务器5.我无法以root身份登录,因此无法更改root密码.
mysql -u root -p
Enter password: <blank>
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: NO)
Run Code Online (Sandbox Code Playgroud)
当我尝试设置一个这样的:
mysqladmin -u root password 'newpass'
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost'
(using password: NO)'
Run Code Online (Sandbox Code Playgroud)
好像有一个root密码设置.
我也试过使用(在这里描述)重置密码
/sbin/service mysqld start --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)
然后制作:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpass')
-> WHERE User='root';
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
Run Code Online (Sandbox Code Playgroud)
我甚至卸载了mysql-server(使用yum),然后重新安装它,但这没有帮助.
如何强制重置root密码?
Mic*_*ior 11
一种选择是保存UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
到一个文件,然后手动启动mysqld
用--init-file=FILENAME
.一旦服务器启动,它应该重置您的密码,然后您应该能够登录.在此之后,您应该关闭服务器并正常启动它.
小智 6
游戏有点晚了,但是我在安装树莓派时遇到了同样的问题,发现它需要提升。在密码更改的前面添加sudo使其可以正常工作。
sudo mysqladmin -u root password 'newpass'
Run Code Online (Sandbox Code Playgroud)
其次是提升的sql访问权限
sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
如果任何一个都不以sudo的身份运行,它将失败。
默认情况下,root用户密码为空字符串.
并(using password: NO)
说没有密码.
您是否尝试从其他系统登录?我想你只能在本地以root用户身份登录.
我删除了MySQL安装并删除了数据文件,然后重新安装了它。
然后我就可以设置root密码了。一旦你设置了 root 密码。如果您不知道,mysqladmin 不会让您重置它。
要重置它,您必须拥有 mysqld 执行方式的所有权,并为其提供一个初始化文件以更改 root 密码:https: //dev.mysql.com/doc/refman/5.0/en/resetting-permissions .html