我需要重置本地 mysql 安装的 root 密码,但它不会让我这样做。我试过这个:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
我怎样才能重设密码? 编辑 1 我得到这个:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
看起来一个进程在我杀死它后会自动重新启动 mysql ...
首先请尝试使用
并在提示符下输入您的密码(如果您还记得的话)以 sql-root 用户身份登录(注意开关
-p
用于密码)。如果你真的必须为 mysql 重置你的 root 密码,这里有一个简单的方法——用
dpkg-reconfigure
.重置 mySQL root 密码的简单步骤:
检查你的版本
mysql-server
;并查看在其他信息中显示已安装版本的行。例如,对于我的安装,它是:
(由此我知道我已经
mysql-server-5.5
在我的系统中安装了。)开始重新配置:
where
mysql-server-*.*
应该替换为您拥有的版本。(对我来说是mysql-server-5.5
)。这将停止数据库守护进程。然后会出现一个提示,您必须在其中输入新密码并确认重新配置。守护进程将在重新配置完成后自动启动。
然后您可以登录:
并开始您的数据库管理任务。
参考:
https://help.ubuntu.com/community/MysqlPasswordReset [如页面所示很快将被清理。]
与您的特定版本相关的Ubuntu 服务器指南。
参考来自这个博客:
第 1 步:停止 MySQL 服务。
第 2 步:杀死所有正在运行的 mysqld。
第 3 步:以安全模式启动 mysqld。
第四步:启动mysql客户端
第五步:登录成功后,请执行此命令修改任意密码。
第 6 步:您可以更新 mysql root 密码。
对于 mysql > 5.7 使用这个而不是上面的:
第7步:请执行此命令。
第八步:退出mysql控制台
第九步:杀掉mysqld_safe并启动mysql
在 Ubuntu 16.04 和 下
mysql-server-5.7
,正确答案是 olafure 的最后一条评论,dpkg-reconfigure mysql-server-5.7
不再有效。现在在mysql控制台
>mysql
重启好
mysql
进程检查您的新密码
从MySQL 5.7开始,在初始安装期间,如果您将密码留空,那么对于该用户,身份验证将基于
auth_socket
插件。更改密码的正确方法是:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
其余答案似乎对我没有用。这是我的解决方案:
在那里:
然后:
用这个创建一个文件:
停止 mysql 服务器并运行:
在此处查看更多详细信息: http: //dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html