不幸的是,我用该命令删除了 MySQL 用户delete from mysql.user
,现在我无法访问 MySQL。我尝试查看MySQL – 错误 1045 – 访问被拒绝,但这对我来说并不合适,因为我没有任何 MySQL 用户。
我卸载并重新安装了 MySQL,但无法访问 MySQL;我该怎么办?我想phpMyAdmin
无需登录即可访问,但我把一切都搞砸了。
卸载后没有结果,我尝试删除 MySQL 的目录并重新安装它们,但仍然没有结果,现在出现此错误:
Error 2002: can't connect to local mysql server through socket /var/lib/mysql/mysql.sock
我没有任何用户需要重置密码,但如果我必须重新安装,我不知道如何连接到 MySQL,并且已经尝试过:
MySQL -u root
MySQL
mysqld-safe
等链接中的
答案1
我想推荐一些更安全的东西:
root@localhost
创建一个文件,将密码放回wh@t3v3r
cd /var/lib/mysql echo "GRANT ALL PRIVILEGES ON *.* TO root@localhost " > InitFile.sql echo "IDENTIFIED BY 'wh@t3v3r';" >> InitFile.sql
- 将以下内容添加到组
/etc/my.cnf
下[mysqld]
[mysqld] init-file=/var/lib/mysql/InitFile.sql
service mysql restart
init-file=/var/lib/mysql/InitFile.sql
从......中去除/etc/my.cnf
rm -f /var/lib/mysql/InitFile.sql
您可以像这样连接mysql
:
mysql -uroot -p <hit enter>
Password: <type password wh@t3v3r and hit enter>
答案2
mysqld
有一个--skip-grant-tables
选项;您可以尝试以这种方式重新启动它,然后从备份中恢复数据。