mysql이 잠긴 가능한 이유 목록을 검토하여 방법을 찾으려고 노력하면서 그 중 하나가 부여 테이블이 있는지 확인하는 것이라고 읽었습니다.
-bash-4.1# cd /var
-bash-4.1# ls
cache empty lib lock mail opt run tmp yp
db games local log nis preserve spool www
-bash-4.1# ls db
sudo
분명히 db 디렉토리에 user.MYD라는 파일이 보일 것입니다. 재설치 후 데이터베이스가 생성되었는지도 기억나지 않는데 거기에 "db"가 보이니 틀림없이(?)
데이터베이스를 삭제하고 액세스 없이 다시 생성할 수 있는 방법이 있습니까?
답변1
무언가가 있는 경우 에 상주해야 합니다 /var/lib/mysql
.
어쨌든 인증이 비활성화된 안전 모드에서 mysql을 시작할 수 있습니다.
# /etc/init.d/mysql stop # depend on your distribution
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
이제 비밀번호를 변경하세요.
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
그 후 mysqld를 종료하고 서비스를 다시 시작하십시오.