- MySQL 랜섬웨어 때문에(Z_README_TO_RECOVER 라는 테이블만 남아있음, root 비번도 초기화), 비밀번호 초기화가 필요했다.
① 설정 > 시스템에서 Mysql80 시스템을 종료하거나
cmd를 관리자 권한으로 열어
>> net stop MySql80
② mysql이 program Files에, Program Data에 모두 존재할텐데 Program Data의 MySQL 폴더를 선택해준다.
Data 폴더까지 들어가 해당 경로를 복사한다.
>> mysqld --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data" --console --skip-grant-tables --shared-memory
이렇게 되면 sql에 패스워드 없이 접속 가능하다!
③ 그후 cmd를 또 같은 방식으로 열어서 mysql에 접속한다.
비밀번호 변경전, UPDATE 명령어로 우선 user 비밀번호를 null로 설정하고 종료해주자.
>> mysql -u root
>> use mysql;
>> UPDATE user SET authentication_string=null WHERE User='root';
>> select authentication_string from user;
>> flush privileges;
>> quit
④ 비밀번호 재설정
mysql 접속후
>> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';
>> use mysql
>> select authentication_string from user;
명령어를 통해 비밀번호를 재설정하자. 나는 123456으로 !
select 명령어를 통해 NULL로 바뀌었던 비밀번호가 암호화 되어 저장된 모습을 볼 수 있다.
추가로, root 계정의 비밀번호는 기본비밀번호나 유추할 수 있는 것을 쓰면 안된다. 또한 mysql의 기본포트(3306)도 최대한 다른 포트로 바꾸는 것이 좋다.
'Database' 카테고리의 다른 글
(DB 구조) 마스터-슬레이브 구조 (0) | 2022.10.14 |
---|---|
INNER JOIN, LEFT JOIN, RIGHT JOIN의 차이 (0) | 2022.07.17 |
(MySQL) Unique Index로 컬럼에 중복값이 못들어오도록 하려면.. (0) | 2022.03.21 |
[MySql] Cannot delete or update a parent row: a foreign key constraint fails 에러 해결 방법 (0) | 2022.03.18 |
Communications link failure 에러(MySQL) (0) | 2022.03.15 |