๐ Windows์์ MySQL ๋ฃจํธ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณต๊ตฌํ ๋ฐฉ๋ฒ (MySQL 8.0) โ ๋จ๊ณ๋ณ
Source: Dev.to

๊ฐ์
MySQL ๋ฃจํธ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ด๋ฒ๋ฆฌ๋ฉด ์ธ์์ด ๋๋ ๋ฏํ ๊ธฐ๋ถ์ด ๋ค ์ ์์ต๋๋คโํนํ ํ์์ด๋ ์ ์ ๊ฐ๋ฐ์๋ผ๋ฉด MySQL์ด ์ ํ ์ฐ๊ฒฐ๋์ง ์์ ๋ ๋ง์ด์ฃ . ์ ๋ ์ต๊ทผ Windowsโฏ+โฏMySQLโฏ8.0 ํ๊ฒฝ์์ ๋ฐ๋ก ์ด ๋ฌธ์ ๋ฅผ ๊ฒช์๊ณ , ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๋ฅผ ์ฌ๋ฌ ์๊ฐ ๋์ ๋ง์ฃผํ์ต๋๋ค:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306'
์๋ง์ ์ํ์ฐฉ์ค ๋์ ๋ฐ์ดํฐ๋ฅผ ์์ง ์๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ์ ์๊ฒ 100โฏ% ์ฑ๊ณตํ ์ ํํ ๋ฐฉ๋ฒ์ ๊ณต์ ํฉ๋๋ค.
๋ฌธ์ ์์ฝ
- OS: Windowsโฏ10/11
- MySQL ๋ฒ์ : 8.0.x
- ๋ฌธ์ : MySQL ๋ฃจํธ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ด๋ฒ๋ฆผ; MySQL ์๋น์ค๊ฐ ๋ก๊ทธ์ธ ํ์ฉ ์ ํจ.
- ์๋:
--skip-grant-tables๋ฐฉ๋ฒ์ด ๊ณ์ ์คํจํจ.
์ค์ ๋ก ์๋ํ ํด๊ฒฐ์ฑ (Init File ๋ฐฉ๋ฒ)
์ด ๋ฐฉ๋ฒ์ ์์ ํ๊ณ ๊ณต์์ ์ด๋ฉฐ, ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์คํจํด๋ ๋์ํฉ๋๋ค.
1๋จ๊ณ: MySQL ์๋น์ค ์ค์ง
- Winโฏ+โฏR์ ๋๋ฌ
services.msc๋ฅผ ์ ๋ ฅํ๊ณ Enter. - MySQL80(๋๋ ์ค์นํ ์๋น์ค ์ด๋ฆ) ์ฐพ๊ธฐ.
- ์ค๋ฅธ์ชฝ ํด๋ฆญ โ Stop.
2๋จ๊ณ: ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ํ์ผ ๋ง๋ค๊ธฐ
- Notepad ์ด๊ธฐ.
- ๋ค์ SQL์ ๋ถ์ฌ๋ฃ๊ธฐ:
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'TempPass@123';
- ํ์ผ์
reset.sql์ด๋ฆ์ผ๋ก ์ ์ฅ(ํ์ฅ์๊ฐ.sql์ด์ด์ผ ํจ,.txt์๋)ํ๊ณ ์์น๋ ๋ค์๊ณผ ๊ฐ์ด ์ง์ :
C:\Users\<yourโusername>\Documents\
3๋จ๊ณ: Init File์ ์ด์ฉํด MySQL ์์
๊ด๋ฆฌ์ ๊ถํ์ผ๋ก Command Prompt๋ฅผ ์ด๊ณ ์คํ:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
๊ทธ ๋ค์ init ํ์ผ์ ์ฌ์ฉํด MySQL์ ์์:
mysqld --init-file="C:\Users\<yourโusername>\Documents\reset.sql" --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data"
๊ธฐ๋๋๋ ๋์
- ํฐ๋ฏธ๋์ด โ๋ฉ์ถโ ๊ฒ์ฒ๋ผ ๋ณด์(ํ๋กฌํํธ๊ฐ ์์).
- ์ค๋ฅ๊ฐ ํ์๋์ง ์์.
- MySQL ์๋ฒ๊ฐ ์คํ ์ค์ด๋ฉฐ ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๋ช ๋ น์ด ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒ.
4๋จ๊ณ: ์์ ์๋ฒ ์ค์ง
ํฐ๋ฏธ๋์์ Ctrlโฏ+โฏC๋ฅผ ๋๋ฌ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๊ณ ์ฐฝ์ ๋ซ์ต๋๋ค.
5๋จ๊ณ: MySQL์ ์ ์์ ์ผ๋ก ์์
- ๋ค์
services.msc๋ฅผ ์ด๊ธฐ. - MySQL80 ์์.
6๋จ๊ณ: ์ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธ
mysql -u root -p
reset.sql์ ์ค์ ํ ๋น๋ฐ๋ฒํธ(TempPass@123)๋ฅผ ์
๋ ฅํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋ณด์ฌ์ผ ํฉ๋๋ค:
Welcome to the MySQL monitor
7๋จ๊ณ (์ค์): ์ง์ ๋ณด์ ๋น๋ฐ๋ฒํธ ์ค์
MySQL ๋ชจ๋ํฐ ์์์ ๋ค์์ ์คํ:
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'YourOwnStrongPassword@123';
FLUSH PRIVILEGES;
์ ๋ฆฌ ์์ (์ ํ ์ฌํญ์ด์ง๋ง ๊ถ์ฅ)
์์ฑํ reset ํ์ผ์ ์ญ์ :
del "C:\Users\<yourโusername>\Documents\reset.sql"
์ ๊ฐ ์ ์ง๋ฅธ ํํ ์ค์ (๋น์ ์ด ๊ฒช์ง ์๋๋ก)
- MySQL ์๋ฒ๊ฐ ์คํ๋์ง ์์ ์ํ์์ ์ฐ๊ฒฐ์ ์๋ํจ.
- ์๋ชป๋
datadir์ฌ์ฉ. - Windows ํ์ผ ๊ถํ์ ์กฐ์ ํ์ง ์์.
- โ๋ฉ์ถโ ํฐ๋ฏธ๋์ ์ค๋ฅ๋ก ์คํดํจ(์ค์ ๋ก๋ ์ฑ๊ณต์ ์๋ฏธ).
๋ง๋ฌด๋ฆฌ ์๊ฐ
- Windows์์ MySQL ๋ฃจํธ ์ ๊ทผ์ด ๋งํ์ ๋: ํจ๋ํ์ง ๋ง๊ณ , MySQL์ ์ฌ์ค์นํ์ง ๋ง๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ์ง ๋ง๊ณ .
- initโfile ๋ฐฉ๋ฒ์ด ์ ๊ฐ ์ฐพ์ ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ํด๊ฒฐ์ฑ ์ ๋๋ค.
์ด ๊ธ์ด ๋์์ด ๋์๋ค๋ฉด ๊ณต์ ํด ์ฃผ์ธ์โ๋๊ตฐ๊ฐ์ ์์๊ฐ์ง๋ฆฌ ์ข์ ์ ๋์ด์ค ์ ์์ต๋๋ค.