Knowledge Map
오늘의 삽질 mysql 8 ->1045 에러 본문
pymysql 을 이용해서 mysql에 접속한다.
brew를 update 한 다음에 mysql를 설치해보면 mysql 8이 설치가 된다.
pymysql 최신 버전의 경우 mysql8을 지원해주는 것을 확인할 수 있다.
하지만 정작 접속하려고 하면 1045 에러를 만나게 될 것이다.
pymysql.err.OperationalError: (1045, u"Access denied for user 'root'@'localhost' (using password: YES)")
이건 쉽게 말하면 비번이 맞지 않아서 그런 것인데, 검색해보면 전부 grant 에서 권한을 다 허용하라는 식으로 나올 것이다.
그렇게 해서 잘 되면 다행인데, 그렇게 하고나서도 안되는 경우가 있다. 그이유는 mysql 8에서는 기본적으로 sha2로 사용하는데, 코드상으로 그냥 냅다 비번을 처넣으면 그 비번 그대로 들어가는 바람에 불일치가 생기는 것이다.
아래 링크를 참고했다.
좀더 자세한 정보는 mysql 사이트 해당 부분을 참조할 것
https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html
그런데 이것을 해결해도 아래의 에러가 발생했다.
InternalError: (pymysql.err.InternalError) (1193, u"Unknown system variable 'tx_isolation'")
그냥 5.7 쓰기로 마음 먹었다 ^^
'DataBase' 카테고리의 다른 글
맥 하이시에라 : ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (0) | 2017.12.08 |
---|---|
mysql에서 currval 유사 구현하기 (0) | 2017.04.12 |
프로시저 쿼리에서의 1064에러 (0) | 2017.01.17 |
latin1 한글정렬 (0) | 2016.07.22 |
join (0) | 2016.06.21 |
Comments