J'ai donc supprimé tous les utilisateurs de mysql.user et redémarré la base de données MySQL. Maintenant, je n'arrive pas à accéder à nouveau à MySQL ni à le réinitialiser comme s'il s'agissait d'une nouvelle installation. J'ai essayé de le réinstaller en utilisant brew uninstall mariadb
卸载它,然后使用 brew install mariadb
mais cela n'a pas résolu le problème. Les seules ressources que je peux trouver concernent la façon de restaurer un utilisateur à partir de MySQL (dans lequel j'ai du mal à accéder) ou comment supprimer complètement MySQL en supprimant des fichiers dans certains répertoires (qui n'existent pas en premier lieu). < /p>
J'ai enfin trouvé une solution à mon problème. Je n'ai pas fini par l'obtenir d'une seule source, mais j'ai bricolé un tas de choses différentes jusqu'à ce que je comprenne que cela fonctionnait.
mysql --skip-grant-tables
mysql_upgrade --force
ps -ef | grep mysql
后跟kill -9
brew services start mariadb
J'ai d'abord essayé
mysql_install_db
au lieu demysql_install_db
而不是某些网站建议的mysql_upgrade --force
,但是自从mysql.user
comme certains sites l'ont suggéré, mais cela n'a pas fonctionné puisque la tablemysql.user
est toujours là. C'est juste vide.Il existe deux méthodes :
Méthode 1 :
1. Désinstallez la base de données MySQL, supprimez les fichiers de données dans le répertoire /data, puis réinstallez-la
Méthode 2 :
1. Arrêtez le service mysql (systemctl stop mysqld)
2. Supprimez les fichiers du répertoire /data (rm -fr /data/*)
3. Initialisez MySQL (mysqld --defaults-file=/mysql/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql --datadir=/mysql/data/3306/data/)
PS1 : Le chemin peut être différent du vôtre et doit être modifié en fonction de votre propre répertoire de données