>  Q&A  >  본문

mysql을 공장 설정으로 복원하는 방법은 무엇입니까?

그래서 mysql.user의 모든 사용자를 삭제하고 mysql 데이터베이스를 다시 시작했습니다. 이제 mysql에 다시 들어갈 수 없거나 새로 설치한 것처럼 재설정하는 방법이 없는 것 같습니다. brew uninstall mariadb 卸载它,然后使用 brew install mariadb를 사용하여 다시 설치해 보았으나 문제가 해결되지 않았습니다. 내가 찾을 수 있는 유일한 리소스는 mysql 내에서 사용자를 복원하는 방법(들어가는데 어려움을 겪고 있음) 또는 특정 디렉터리(처음에는 존재하지 않는)의 파일을 삭제하여 mysql을 완전히 제거하는 방법에 관한 것입니다. < /p>

P粉436410586P粉436410586311일 전600

모든 응답(2)나는 대답할 것이다

  • P粉986028039

    P粉9860280392023-12-14 10:11:56

    드디어 문제에 대한 해결책을 찾았습니다. 나는 결국 하나의 소스에서 그것을 얻는 것이 아니라 이것이 효과가 있다는 것을 알아낼 때까지 여러 가지 다른 것들을 함께 엮었습니다.

    1. 서버 중지: `brew services stop mariadb
    2. 다음 명령을 사용하여 시작하세요: mysql --skip-grant-tables
    3. 사용자 없이 테이블을 수정하려면 다음 명령을 실행하세요. mysql_upgrade --force
    4. mysql 강제 종료: ps -ef | grep mysql 后跟 kill -9
    5. 서버를 다시 시작하세요: brew services start mariadb

    일부 사이트에서 제안한 대로 mysql_install_db 而不是某些网站建议的 mysql_upgrade --force ,但是自从 mysql.user 대신 mysql_install_db를 먼저 시도했지만 mysql.user 테이블이 아직 남아 있기 때문에 작동하지 않았습니다. 그냥 비어 있어요.

    회신하다
    0
  • P粉600402085

    P粉6004020852023-12-14 09:05:11

    두 가지 방법이 있습니다:
    방법 1:
    1. mysql 데이터베이스를 제거하고 /data 디렉터리의 데이터 파일을 삭제한 후 다시 설치하세요

    방법 2:
    1. mysql 서비스를 중지합니다(systemctl stop mysqld)
    2. /data 디렉터리에 있는 파일을 삭제하세요(rm -fr /data/*)
    3. mysql 초기화(mysqld --defaults-file=/mysql/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql --datadir=/mysql/data/3306/data/)

    PS1: 경로는 귀하의 것과 다를 수 있으며 귀하의 데이터 디렉토리에 따라 변경되어야 합니다

    회신하다
    0
  • 취소회신하다