![mysql-server 安装时出现错误 1045(28000)](https://linux22.com/image/862832/mysql-server%20%E5%AE%89%E8%A3%85%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%201045%EF%BC%8828000%EF%BC%89.png)
我是 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
还有另一种方法,使用链接中提供的“清除”