mysql-server 安装时出现错误 1045(28000)

mysql-server 安装时出现错误 1045(28000)

我是 Ubuntu 新手,正在尝试安装 MySQL。

sudo apt-get install mysql-server php5-mysql

然后创建数据库目录结构

sudo mysql_install_db

然后为了确保我使用

sudo mysql_secure_installation

然后它要求我

Enter current password for root

我使用 root 登录sudo su,但当我尝试输入密码时,它给了我

error:Enter current password for root (enter for none): 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' 
(using password: YES)

输入 y 表示“是”也会出现同样的错误。
请帮帮我。

答案1

要重置 mysqld 密码,请按照以下说明操作:

使用以下命令停止 mysql 守护进程:

sudo /etc/init.d/mysql stop

使用此命令的 --skip-grant-tables 选项启动 mysqld 守护进程

 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &

因为此时您没有检查用户权限,所以最安全的做法是禁用网络。在 Dapper 中,/usr/bin/mysqld... 不起作用。但是,mysqld --skip-grant-tables 起作用了。

使用此命令启动 mysql 客户端进程

mysql -u root

从 mysql 提示符执行此命令可以更改任何密码

 FLUSH PRIVILEGES;

然后重置/更新你的密码

SET PASSWORD FOR root@'localhost' = PASSWORD('password');

如果您有一个可以从任何地方连接的 mysql root 帐户,您还应该执行以下操作:

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

替代方法:

   USE mysql
   UPDATE user SET Password = PASSWORD('newpwd')
   WHERE Host = 'localhost' AND User = 'root';

一旦收到指示查询成功的消息(影响一行或多行),刷新权限:

FLUSH PRIVILEGES;

然后停止 mysqld 进程并以经典方式重新启动它:

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

还有另一种方法,使用链接中提供的“清除”

来源

相关内容