https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html
ํธ์ง: caching_sha2_password
๋ํ ์ง์์ ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค. #794๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
#552 ์ ๊ด๋ จ์ด ์๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ๊ตฌํ ์ฌ๋ถ์ ๋ฐ๋ผ ์๋ฝ ์ฌ๋ถ๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค.
์ด์ ์ ์ด์ ๋ํด ๊ธฐ๋ณธ ์ํธ(sha1)๋ก์ ์ธ์ฆ ์ ํ์ ์ง์ํ๋ ํจ์น๋ฅผ ๋ง๋ค์๊ณ ์ง๊ธ sha256 ์ง์์ ์์ํด์ผ ํ๋ค๊ณ ํ์คํ ํฌํํฉ๋๋ค.
MySQL 8.0.4-rc์์ ์ธ์ฆ์ ๋ํ ์๋ก์ด ๊ธฐ๋ณธ๊ฐ์ด ์ ๊ณต๋๋ค๋ ์ ์ ์ ์ํ์ญ์์ค. ์ด์ ์ฌ์ฉ์๋ฅผ ์์ฑํ ๋ caching_sha2_password๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
go-sql-driver/mysql ์ง์ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ์์ฑ/๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก MySQL ๊ธฐ๋ณธ ๋น๋ฐ๋ฒํธ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ALTER USER 'youruser'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'secret';
DSN์์ "allowNativePasswords=True"๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
(MySQL Connector/Python์์ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ ๊ตฌํํ์ง๋ง ๊ณ ํต์ ์๊ณ ์์ต๋๋ค)
์๋
ํ์ธ์. ๋์์ด ํ์ํ์๋ฉด ์ธ์ฆ ํ๋ฌ๊ทธ์ธ ๋ฐ ์ปค๋ฅํฐ ์์
์ ํ๋ MySQL ์์ง๋์ด๊ฐ ๊ธฐ๊บผ์ด ๋์๋๋ฆด ๊ฒ์
๋๋ค. MySQL Community Slack(http://lefred.be/mysql-community-on-slack/)์์ ์ฐ๋ฝํ ์ ์์ต๋๋ค. ์ข์ ์ผ์ ๊ณ์!
๊ฑด๋ฐฐ,
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
MySQL 8.0.4-rc์์ ์ธ์ฆ์ ๋ํ ์๋ก์ด ๊ธฐ๋ณธ๊ฐ์ด ์ ๊ณต๋๋ค๋ ์ ์ ์ ์ํ์ญ์์ค. ์ด์ ์ฌ์ฉ์๋ฅผ ์์ฑํ ๋ caching_sha2_password๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
go-sql-driver/mysql ์ง์ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ์์ฑ/๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก MySQL ๊ธฐ๋ณธ ๋น๋ฐ๋ฒํธ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
DSN์์ "allowNativePasswords=True"๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
(MySQL Connector/Python์์ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ ๊ตฌํํ์ง๋ง ๊ณ ํต์ ์๊ณ ์์ต๋๋ค)