首先,请阅读mysql手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html 这些步骤将向您展示如何关闭服务,然后使用不需要密码的覆盖命令启动服务,然后重置密码。 停止MySQL服务器,然后使用--skip-grant-tables选项重新启动它。这使任何人都可以在没有密码的情况下使用所有权限进行连接,并禁用帐户管理语句(如ALTER USER和SET PASSWORD)。由于这是不安全的,因此您可能需要将--skip-grant-tables与--skip-networking结合使用以阻止远程客户端进行连接。 使用mysql客户端连接到MySQL服务器;不需要密码,因为服务器是以--skip-grant-tables: shell> mysql 在mysql客户端中,告诉服务器重新加载授权表,以便帐户管理语句能够工作: mysql> FLUSH PRIVILEGES; 然后更改'root'@'localhost'帐户密码。将该密码替换为要使用的密码。要更改具有不同主机名部分的root帐户的密码,请修改说明以使用该主机名。 MySQL 5.7.6及更高版本: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; MySQL 5.7.5及更早版本: mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); 或者直接在用户表上: UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';个
XAMPP特定
停止MySQL服务。打开命令窗口。更改到XAMPP MySQL目录: > cd \xampp\mysql\bin\ 运行不带安全性的服务(请注意,您运行的是mysqld,而不是mysql): > mysqld.exe --skip-grant-tables MySQL服务将在此窗口中运行,因此请打开另一个命令窗口并切换到XAMPP MySQL目录: > cd \xampp\mysql\bin\ 运行MySQL客户端: x1米15英寸 更新密码: mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';个 退出MySQL: mysql> \q 使用任务管理器取消仍在运行的mysqld.exe。重新启动mysql服务。
2018-12-17T06:48:42.971692Z mysqld_safe Logging to syslog.
2018-12-17T06:48:42.974451Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2018-12-17T06:48:42.976653Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
2018-12-17T06:50:39.135292Z mysqld_safe Logging to syslog.
2018-12-17T06:50:39.137938Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2018-12-17T06:50:39.152966Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
7条答案
按热度按时间wxclj1h51#
通用MYSQL信息
首先,请阅读mysql手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
这些步骤将向您展示如何关闭服务,然后使用不需要密码的覆盖命令启动服务,然后重置密码。
停止MySQL服务器,然后使用
--skip-grant-tables
选项重新启动它。这使任何人都可以在没有密码的情况下使用所有权限进行连接,并禁用帐户管理语句(如ALTER USER
和SET PASSWORD
)。由于这是不安全的,因此您可能需要将--skip-grant-tables
与--skip-networking
结合使用以阻止远程客户端进行连接。使用mysql客户端连接到MySQL服务器;不需要密码,因为服务器是以
--skip-grant-tables
:shell> mysql
在mysql客户端中,告诉服务器重新加载授权表,以便帐户管理语句能够工作:
mysql> FLUSH PRIVILEGES;
然后更改
'root'@'localhost'
帐户密码。将该密码替换为要使用的密码。要更改具有不同主机名部分的root帐户的密码,请修改说明以使用该主机名。MySQL 5.7.6及更高版本:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
MySQL 5.7.5及更早版本:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
或者直接在用户表上:
UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
个XAMPP特定
停止MySQL服务。打开命令窗口。更改到XAMPP MySQL目录:
> cd \xampp\mysql\bin\
运行不带安全性的服务(请注意,您运行的是mysqld,而不是mysql):
> mysqld.exe --skip-grant-tables
MySQL服务将在此窗口中运行,因此请打开另一个命令窗口并切换到XAMPP MySQL目录:
> cd \xampp\mysql\bin\
运行MySQL客户端:
x1米15英寸
更新密码:
mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
个退出MySQL:
mysql> \q
使用任务管理器取消仍在运行的mysqld.exe。重新启动mysql服务。
pepwfjgg2#
我的问题用下面的方法解决了。
当我输入下面的命令,然后我会得到一个错误.sudo mysql -u root -p
要解决此问题,请执行以下步骤输入命令,
然后发生以下错误。
若要解决此错误,请遵循下列行。
systemctl stop mysql
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
1.然后连接
mysql -u root
。然后MySQL提示符将出现。然后设置您的密码后。1.冲洗特权;
systemctl stop mysql
1.之后,按下面的方式进行操作。
xvw2m8pv3#
我遇到了同样的问题#1045错误,即使我从我的shell作为root登录.然后我按照下面的过程,它为我工作-
请注意,此方法仅适用于Linux 20.04用户
**步骤1:**键入命令shell
sudo nano /etc/mysql/debian.cnf
---〉这将打开mysql数据库配置文件并且只看到该文件。不需要更改。在文件中找到以下行**步骤2:**返回到用户提示符并键入以下内容-
粘贴先前复制的密码,然后键入
然后在mysql编辑器中输入以下命令更改“root”用户密码
现在你的'root'用户名和密码已经准备好登录phpmyadmin了。
pkbketx94#
xfb7svmp5#
我最近遇到了同样的问题。最新版本的PHPmyadmin不允许你以root身份登录。我遇到了其他问题,因为在Ubuntu 18上安装时由安装脚本定义的用户名和密码没有被授予任何权限。我通过在终端上以root身份登录mysql来解决这个问题。然后我从命令行添加了一个新用户。此时,我可以在PHP中以新用户身份登录,我的管理员和新用户具有我授予的权限。
k5ifujac6#
对于Windows用户:在开始恢复密码之前,请在命令行中尝试:
如下图所示:
Print of my MySQL login
我没有时间解释原因,但是如果你想知道更多,请检查你计算机中的“MySQL X.X命令行客户端”快捷方式是如何工作的。
及时确保mysql路径在PATH变量中。
k97glaaz7#
以下内容对我很有效:我正在运行一个Springboot应用程序,我可以通过命令行mysql -u root -p创建表,但是一旦我运行了应用程序,表就没有创建(我没有设置数据库的密码),所以application.properties在项目的www.example.com中,您必须确保该行不存在,或者如果您希望使用与以下行匹配的密码spring.datasource.password=pssw