std*_*err 29 mysql password reset
我需要重置本地 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
Run Code Online (Sandbox Code Playgroud)
我怎样才能重置密码? 编辑 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)
Run Code Online (Sandbox Code Playgroud)
看起来一个进程会在我杀死它后自动重新启动 mysql ......
pre*_*ise 44
首先请尝试使用
mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
并在提示时输入您的密码(如果您还记得)以 sql-root 用户身份登录(注意开关-p是用于密码的)。
如果你真的需要为 mysql 重置你的 root 密码,这里有一个简单的方法 - 用dpkg-reconfigure.
检查您的版本mysql-server;
apt-cache policy mysql-server
Run Code Online (Sandbox Code Playgroud)
并查看显示已安装版本以及其他信息的行。例如,对于我的安装,它是:
Installed: 5.5.37-0ubuntu0.12.04.1
Run Code Online (Sandbox Code Playgroud)
(由此我知道我已经mysql-server-5.5安装在我的系统中。)
使用以下命令开始重新配置:
sudo dpkg-reconfigure mysql-server-*.*
Run Code Online (Sandbox Code Playgroud)
wheremysql-server-*.*应该替换为您拥有的版本。(对我来说是mysql-server-5.5)。这将停止数据库守护进程。然后将出现一个提示,您必须在其中输入新密码并确认重新配置。

重新配置完成后,守护进程将自动启动。
然后您可以登录:
mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
并开始您的数据库管理任务。
参考:
https://help.ubuntu.com/community/MysqlPasswordReset [很快就会被清理,如页面所示。]
与您的特定版本相关的Ubuntu 服务器指南。
小智 22
第 1 步:停止 MySQL 服务。
sudo service mysql stop
Run Code Online (Sandbox Code Playgroud)
第 2 步:杀死所有正在运行的 mysqld。
sudo killall -9 mysqld
Run Code Online (Sandbox Code Playgroud)
第 3 步:以安全模式启动 mysqld。
sudo mysqld_safe --skip-grant-tables --skip-networking &
Run Code Online (Sandbox Code Playgroud)
第四步:启动mysql客户端
mysql -u root
Run Code Online (Sandbox Code Playgroud)
第五步:登录成功后,请执行此命令更改任何密码。
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
第 6 步:您可以更新 mysql root 密码。
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
对于 mysql > 5.7 使用这个而不是上面的:
UPDATE mysql.user SET authentication_string=PASSWORD('newpwd') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
第 7 步:请执行此命令。
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
第八步:退出mysql控制台
exit
Run Code Online (Sandbox Code Playgroud)
第 9 步:杀死 mysqld_safe 并启动 mysql
sudo killall mysqld_safe && sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 16.04 和 下mysql-server-5.7,正确答案是 olafure 的最后一条评论,dpkg-reconfigure mysql-server-5.7不再有效。
sudo service mysql stop
sudo killall mysqld
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
Run Code Online (Sandbox Code Playgroud)
现在在 mysql 控制台中 >mysql
USE mysql;
UPDATE user SET authentication_string=PASSWORD('newpass') WHERE user='root';
FLUSH PRIVILEGES;
\q
Run Code Online (Sandbox Code Playgroud)
重新开始美好的 mysql过程
sudo killall mysqld
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
检查您的新密码
mysql -u root -p
Enter password: newpass
mysql>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76410 次 |
| 最近记录: |