Назад | Перейти на главную страницу

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/bin относится к mysql

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

Сначала сделайте резервную копию вашего /etc/mysql и /var/lib/mysql каталоги.

Затем попробуйте инициализировать

mysql_install_db

для воссоздания схемы mysql с нуля.

Вы можете прочитать об этом здесь: https://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html

Вы можете просто удалить mysql и очистить файлы конфигурации, если вам не нужны базы данных или какие-либо настройки.

Шаги будут такими:

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

пс. Отнеситесь к этому с недоверием, так как я не пользователь MacOS.

У меня проблема, в основном почти все решения, которые вы можете найти, это устаревший. С 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).