在 openSUSE 11 上删除 root 用户后如何访问 MySQL?

在 openSUSE 11 上删除 root 用户后如何访问 MySQL?

不幸的是,我用该命令删除了 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

我想推荐一些更安全的东西:

  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
    
  2. 将以下内容添加到组 /etc/my.cnf[mysqld]
    [mysqld]
    init-file=/var/lib/mysql/InitFile.sql
    
  3. service mysql restart
  4. init-file=/var/lib/mysql/InitFile.sql从......中去除/etc/my.cnf
  5. 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选项;您可以尝试以这种方式重新启动它,然后从备份中恢复数据。

相关内容