我是 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
还有另一种方法,使用链接中提供的“清除”