mysql 관련 쿼리 작성 중 아무리 봐도 오류가 없는데 , 테이블에 데이터가 들어가지 않는 문제가 생겼었다. 이유는 테이블 설정을 utf8로 해주지 않아서였는데, 데이터 베이스를 여는 과정에서 return pymysql.connect( host='localhost', user='root', password=password, charset='utf8mb4') 다음과 같이 utf8mb4로 설정해주었기에 괜찮을 줄 알았다. 하지만 데이터베이스 뿐만 아니라 테이블의 charset 또한 utf8로 설정해주어야 한다는 것..! ALTER TABLE (테이블명) convert to charset utf8; mysql 콘솔에서 다음 명령어를 통해 변경을 해주자, 정상적으로 쿼리가 실행되고 데이터가 삽입되었다.
오랜만에 WSL2로 MySQL 서버에 접속하려다가 , 그만 root 암호를 잊어버리는 사태에 직면했다. 이후 비밀번호 재설정을 하고, 여러가지 설정들을 건드리다가 2002번 에러를 직면했다. 소켓에 연결이 안되는 경우 서버 설정에 문제가 있는 경우가 많다고 들어서 아예 재설치를 해주었다. 그러자 이번엔, ERROR 1698 (28000): Access denied for user 'root'@'localhost' 라는 에러를 만나게 되었고.. 여러가지 해결 방법을 시도해보았다. 1. MySQL을 보안 기능 비활성화로 재시작 먼저 첫번째로 'sudo mysqld_safe --skip-grant-tables &' 커맨드를 사용해 보안 기능을 끄고 재시작을 해주었다. 이후 mysql -u root 위 커맨드로..