Думаю, я испортил 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
).