试图通过查看我被锁定在 mysql 之外的可能原因清单来找到一种方法,我读到,其中一个是确定我是否有授权表。
-bash-4.1# cd /var
-bash-4.1# ls
cache empty lib lock mail opt run tmp yp
db games local log nis preserve spool www
-bash-4.1# ls db
sudo
显然我应该在 db 目录中看到一个名为 user.MYD 的文件。我什至不记得重新安装后是否创建了数据库,但我在那里看到“db”,所以一定是它(?)
有没有一种方法可以删除数据库并在没有访问权限的情况下重新创建数据库?
答案1
如果有什么东西,它应该驻留在/var/lib/mysql
.
无论如何,你可以在禁用身份验证的安全模式下启动 mysql,例如
# /etc/init.d/mysql stop # depend on your distribution
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
现在更改密码:
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
之后,杀死 mysqld 并重新启动服务