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 de mysql_install_db
而不是某些網(wǎng)站建議的 mysql_upgrade --force
,但是自從 mysql.user
comme certains sites l'ont suggéré, mais cela n'a pas fonctionné puisque la table mysql.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