Mysql 修复root密码

Mysql 修复root密码

我猜我把桌子弄乱了,user试图更新密码,运行类似

UPDATE mysql.user SET authentication_string='root' WHERE User='root';

无需刷新权限。现在我基本上被锁定了,即使我尝试也无法连接到 mysql cli

sudo mysqld_safe --skip-grant-tables &

有一种方法可以安全地删除所有 mysql 数据库(包括user表)?

(MacOS 莫哈韦)

这是/usr/local/binmysql

mysql               mysqladmin          mysqlpump
mysql.server            mysqlbinlog         mysqlrouter
mysql_client_test       mysqlcheck          mysqlrouter_plugin_info
mysql_config            mysqld              mysqlshow
mysql_config_editor     mysqld_multi            mysqlslap
mysql_secure_installation   mysqld_safe         mysqltest
mysql_ssl_rsa_setup     mysqldump           mysqlxtest
mysql_tzinfo_to_sql     mysqldumpslow
mysql_upgrade           mysqlimport

答案1

首先备份您的/etc/mysql/var/lib/mysql目录。

然后尝试初始化

mysql_install_db

从头开始重新创建 mysql 模式。

你可以在这里读到它:https://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html

答案2

如果您不需要数据库或任何设置,您可以简单地卸载 mysql 并清除配置文件。

步骤如下:

brew uninstall mysql
brew cleanup
sudo rm -rf /usr/local/var/mysql    ## verify within my.cnf

附言:由于我不是 MacOS 用户,因此对此持保留态度。

答案3

我遇到了这个问题,基本上你能找到的所有解决方案都是过时的. 使用 mysql 8.0.15 你必须遵循本指南 https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

使用方法UPDATE mysql.user SET authentication_string.. 将会锁定你,无法访问你自己的 mysql 服务器(即使有,你也无法解决mysqld_safe --skip-grant-tables)。

相关内容