광고 차단 플러그인 해제 후 새로고침(F5) 하시면
컨텐츠를 정상적으로 볼 수 있습니다.
(Please turn off AdBlock Plug-in.)

[윈도우10 64bit] APM PHP 7.0 설치과정 정리 에 이어...


3. MySQL 설치


MySQL은 DB 프로그램입니다. 우리가 커뮤니티 게시판 페이지에 쓰는 글들은 DB에 쌓이는 겁니다. 최근(?) MySQL 호환되는 MariaDB라는 게 나왔고 로딩속도가 MySQL보다 빠르다고 입소문이 좋게 났는데, 저는 일단 관련문서가 인터넷에 많이 존재하는(그래서 문제를 비교적 쉽게 해결할 수 있는) MySQL이 (저같은) 일반 유저용으로 좀더 적합하다고 생각합니다.


※ 공식 문서 : https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html

※ 옵션 파일에 대한 가이드 : https://dev.mysql.com/doc/refman/5.7/en/option-files.html


Apache나 PHP보다 설치 난이도가 높은 편인데, 제가 했으니까 여러분들도 하실 수 있을 거예요. ^^

http://dev.mysql.com/downloads/mysql/

에 접근하여 MySQL Community Server 5.7 압축파일을 받습니다.


▲ ZIP Archive를 받으면 되는데, 비트 선택은 본인 윈도우/아파치/PHP bit를 따라가면 됩니다.


▲ 번거롭게 가입/로그인할 필요는 없습니다.


Installing MySQL on Microsoft Windows Using a noinstall Zip Archive

(https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html)

일단 위 공식문서대로 따라해볼 건데, 막히는 부분이 생기면 다른 포스팅들 참고해 가면서 보완할게요.(윈도우10 64bit 기준)


----------------------------------

아래의 방법은 MySQL 5.7.17 버전까지만 적용 가능한 설치법입니다.

5.7.18 버전부터는 “3시간째삽질”님 댓글에 남긴 댓댓글을 참고해 주세요.

----------------------------------

2017. 11. 07. 추가.

카이스트 FTP 서버(링크)에 5.7.17버전이 내려갔다는 제보가 들어왔습니다.ㅠㅠ

그래서 기존 내용은 취소선 처리하고, “3시간째삽질”님 댓글에 남긴 댓댓글을 재구성하여 기존내용 하단에 추가하겠습니다.

----------------------------------


★ 기존 내용 ★

일단 윈도우는 관리자 계정 기준입니다.



압축을 풉니다. 제작사 측에서 밀고 있는 기본 경로는 C:\mysql 이라서 저도 여기에 압축을 풀었습니다.

MySQL이 실행될 때 설정파일을 세 경로에서 찾는다고 합니다. => Windows 디렉토리, C:\, MySQL 설치 경로.

그래서 셋 중 한곳에 옵션파일을 위치시키면 된답니다. 옵션파일은 my.ini 와 my.cnf 가 있는데, 컴퓨터는 ini파일을 먼저 찾고 cnf파일을 나중에 찾지만 혼동을 줄이기 위해서 my.ini 파일만 유지하는 게 좋다고 합니다.

위 스크린 샷을 보면 my-default.ini 파일이 있죠? 메모장 등의 에디터로 열어서 my.ini 파일로 저장해주면 그게 설정파일이 되는겁니다.



my.ini 파일의 내용은 이렇게 생겼는데,



basedir = C:/mysql

datadir = C:/mysql/data

port = 3306

처럼 주석(#) 제거+경로를 수정해주고 저장 후 빠져나옵니다(인코딩 옵션은 ANSI로 놔뒀습니다.). 붉은 텍스트로 표시한 경로는 본인이 MySQL 압축 푼 경로와 일치시킵니다. 폴더경로는 백슬래시(\)가 아닌 슬래시(/)로 써줘야 하고요. => 만약 백슬래시를 굳이 쓰고싶다면 2번 써주셔야 합니다. basedir = C:\\mysql 이렇게...

아마 윈도우 탐색기로 MySQL 압축 푼 곳(C:\mysql) 들어가보면 data폴더가 없을걸요? 생성해 줍니다. 그리고 data폴더 안쪽은 아무것도 없게끔 비워야 앞으로 오류없이 진행될 겁니다.


이제 C:\MySQL\bin 폴더(MySQL 압축 푼 폴더\bin)의 환경변수 등록작업을 할겁니다. 이걸 해두면 명령프롬프트(관리자)로 MySQL 명령어를 입력할 때 C:\MySQL\bin 폴더로 일부러 찾아들어가지 않아도 됩니다.

Win+R → control 입력. 그리고 시스템→고급 시스템 설정→고급 탭의 “환경 변수(N)” 단추를 누릅니다.



시스템 변수(S)에서 Path를 찾아 더블 클릭하면 환경 변수 편집 창이 나타나는데, “새로 만들기(N)” 버튼을 누르고 위 스크린 샷처럼 MySQL을 설치한 경로에서 bin폴더까지의 값을 입력한 후 빠져나옵니다.


이제 mysql을 구동하기 위한 기본 system DB를 생성해줘야 합니다. ZIP버전에는 이게 포함되어있지 않거든요.

명령프롬프트를 관리자 권한으로 띄우세요.(Win+X 누르면 선택할 수 있습니다.)



mysqld.exe --initialize

라고 입력합니다. 몇 초 지나면 다시 C:\\Windows\system32> 처럼 입력란이 나올겁니다.



C:\mysql\bin\mysqld.exe --install

라고 입력합니다.(경로 전체를 넣어줘야 합니다. 잘 안되면 경로를 따옴표로 묶습니다. "C:\mysql\bin\mysqld.exe" --install 이렇게...)

이건 MySQL을 윈도우 서비스에 등록하는 작업이에요. 삭제 옵션은 --remove 입니다.


다시 명령프롬프트(관리자)에서

mysqld --console --explicit_defaults_for_timestamp --skip-grant-tables

라고 치면...



이런 식으로 방화벽 해제 메세지가 뜰텐데 허용해 주시고...

명령프롬프트 창이 진행이 안되고 멈춘 것처럼 보일겁니다. 끄지 말고 Win+X 눌러서 명령프롬프트(관리자)를 하나 더 띄웁니다. 그리고

mysql -u root mysql

라고 치면



위 스크린 샷저럼 mysql> 이라고 뜨는데, 이제 여기에서 암호 설정작업을 할겁니다.

update user set authentication_string = password('새로운 비밀번호') where user = 'root';

처럼 입력할 건데요, 비밀번호만 임의로 바꿔주면 됩니다. 계정은 root가 되는 거고요.

만약 비밀번호를 1111로 정하고자 한다면 

update user set authentication_string = password('1111') where user = 'root';

이라고 치면 됩니다.



그리고 이렇게 뜨면 성공이에요.

mysql> flush privileges;

라고 입력해 주고...

mysql> alter user 'root'@'localhost' identified by '설정했던 비밀번호';

라고 치고

mysql> \q

라고 쳐서 잠깐 빠져나옵니다.



명령프롬프트 창으로 빠져나왔으면

mysql -u root -p

라고 입력 후 패스워드를 입력해 봅니다. mysql 명령창이 정상적으로 뜬다면 비밀번호 설정은 성공한 겁니다.

명령프롬프트 끄지 마세요!!!


----------------------------------


★ MySQL 5.7.18 버전부터 적용 가능한 설치법 ★


"Microsoft Visual C++ 2015 재배포 가능 패키지"

https://www.microsoft.com/ko-kr/download/details.aspx?id=53840

"Visual Studio 2013용 Visual C++ 재배포 가능 패키지"

https://www.microsoft.com/ko-kr/download/details.aspx?id=40784


▲ 선행설치 필요합니다. vcredist_arm.exe처럼 엉뚱한 것 받지 마시고, vcredist_x64.exe나 vcredist_x86.exe처럼 비트수에 맞는 것으로 받으세요. 그리고 2017 재배포 가능 패키지 등 상위버전이 설치되어 있으면 설치 안된다고 튕길 수 있는데, 그러면 그냥 넘어가세요.



http://dev.mysql.com/downloads/mysql/ 에서 받았던 ZIP파일의 압축을 풀어줍니다. 제작사 측에서 밀고 있는 기본 경로는 C:\mysql 이라서 저도 여기에 압축을 풀었습니다. (위 스샷처럼) 압축 푼 경로에 파일/폴더들이 바로 보이도록 해주면 됩니다.



이제 C:\MySQL\bin 폴더(MySQL 압축 푼 폴더\bin)의 환경변수 등록작업을 할겁니다. 이걸 해두면 명령프롬프트(관리자)로 MySQL 명령어를 입력할 때 C:\MySQL\bin 폴더로 일부러 찾아들어가지 않아도 됩니다.

Win+R → control 입력. 그리고 시스템→고급 시스템 설정→고급 탭의 “환경 변수(N)” 단추를 누릅니다.



시스템 변수(S)에서 Path를 찾아 더블 클릭하면 환경 변수 편집 창이 나타나는데, “새로 만들기(N)” 버튼을 누르고 위 스크린 샷처럼 MySQL을 설치한 경로에서 bin폴더까지의 값을 입력한 후 빠져나옵니다.


이제 옵션파일을 만들 차례입니다. 기본설정들을 지정하는 과정이에요.

(옵션파일 생성 없이 진행해도 되긴 하더군요. 그러면 DB데이터 저장 경로는 mysql 압축 푼 곳 하위의 data 폴더로 자동 지정됩니다.)



메모장을 띄우고(Win+R 누르고 notepad 입력), mysql 압축 푼 공간에 my.ini라는 파일로 저장을 해주세요.

인코딩 옵션은 ANSI나 ASCII로 지정하지 않고 UTF-8 같은 걸로 지정하면 mysqld: [ERROR] Found option without proceding group in config file C:₩mysql₩my.ini at line 1! 이런 에러 메세지를 볼 수 있으니까 주의하세요.


참고로 MySQL이 실행될 때 설정파일을 세군데 경로에서 순서대로 찾는다고 합니다. => Windows 디렉토리(%WINDIR%), C:\, MySQL 설치 경로(basedir).

그래서 셋 중 한곳에 옵션파일을 위치시키면 되며, 나중에 읽힌 파일이 우선적으로 적용된다고 하네요.

옵션파일은 my.ini 와 my.cnf 가 있는데, 컴퓨터는 ini파일을 먼저 찾고 cnf파일을 나중에 찾는다고 합니다.

혼동을 피하기 위해 하나의 파일만 사용하는 것이 가장 좋다고 하네요.

https://dev.mysql.com/doc/refman/5.7/en/windows-create-option-file.html

  https://dev.mysql.com/doc/refman/5.7/en/option-files.html )



my.ini 파일의 기본적인 형식은 위와 같습니다. 폴더경로는 백슬래시(\)가 아닌 슬래시(/)로 써줘야 하고요. => 만약 백슬래시를 굳이 쓰고싶다면 2번 써주셔야 합니다. basedir = C:\\mysql 이렇게...

basedir 경로는 mysql 압축 푼 곳이고, datadir 경로는 DB데이터가 저장되길 원하는 공간입니다. 포트까지가 (제일) 기본적인 사항이라 생각하고, 추가를 원하는 항목이 있다면 레퍼런스 매뉴얼 뒤져서 더하면 됩니다.ㅋ

다 적었으면 저장 후 빠져나오세요.


이제 mysql을 구동하기 위한 기본 system DB를 생성해줘야 합니다. ZIP버전에는 이게 포함되어있지 않거든요.

명령프롬프트를 관리자 권한으로 띄우세요.(Win+X 누르면 선택할 수 있습니다.)



mysqld.exe --initialize

라고 입력합니다. 시간이 좀 지나면 C:₩₩Windows₩system32> 처럼 입력란이 돌아올 겁니다.



윈도우 탐색기로 MySQL 압축 푼 폴더로 들어가보면(C:\mysql) data 폴더가 생긴 것을 확인할 수 있을 겁니다.(DB데이터가 저장되는 경로입니다.)



data 폴더에 들어가보면 위 스샷처럼 DESKTOP-블라블라.err 형식의 에러로그 파일이 있을 겁니다. 메모장으로 이 파일을 열어보면...



root 계정에 대한 임시 비밀번호를 생성했음을 알려주는 메세지를 확인할 수 있습니다.

(참고로 Centos/Redhat 같은 리눅스 RPM패키지는 /var/log/mysqld.log 을 볼 것.)

화면 구석에 패스워드 잘 보이게 띄워놓고 다음 절차를 진행합니다.



명령프롬프트(관리자) 에서

C:\mysql\bin\mysqld.exe --install

라고 입력합니다.(경로 전체를 넣어줘야 합니다. 잘 안되면 경로를 따옴표로 묶습니다. "C:\mysql\bin\mysqld.exe" --install 이렇게...)

이건 MySQL을 윈도우 서비스에 등록하는 작업이에요. 삭제 옵션은 --remove 입니다. 언인스톨하려면 실행중인 mysql 서비스를 중지하고 --remove 옵션을 쓰면 돼요.



“제어판 - 관리도구 - 서비스”로 진입하여(빠르게 진입하려면 Win+R 누르고 services.msc 입력) MySQL 을 시작시킵니다. “상태”에 “실행 중”으로 뜨면 성공입니다.

(명령프롬프트(관리자)에서는 net start mysql 이라고 치면 됩니다. 실행중인 서비스를 중지하려면 net stop mysql 이라고 치면 되고요. 껐다 켜는 것을 이어서 하고 싶으면 net stop mysql & net start mysql 이라고 치면 됩니다.)



명령프롬프트(관리자) 에서

mysql -u root -p

라고 입력 후

Enter password:

라고 나오면 DESKTOP-블라블라.err를 띄워놨던 창을 보고 패스워드를 입력합니다.


패스워드가 복잡해서 외우기 어려우니까... 적당히 바꿔줍시다. 저는 예시 차원에서 1111로 바꿔보겠습니다.



mysql> 이라고 뜨면 아래처럼 입력하면 패스워드를 원하는 것(1111)으로 바뀝니다.

set password = password('1111'); => 도태됨. 언젠가는 remove될 것.

set password = '1111';

(※ 레퍼런스 문서 참고 : https://dev.mysql.com/doc/refman/5.7/en/set-password.html )

(위 레퍼런스 문서에서는 set password = '1111'; 보다는 ALTER USER 'root'@'localhost' IDENTIFIED BY '1111'; 을 쓸 것을 권하는데, 실사용시 큰 차이는 없는 것 같습니다.)


바뀐 패스워드를 테스트하기 위해 \q 를 입력하여 mysql 모니터를 빠져나옵니다.



그리고 mysql -u root -p 를 다시한번 입력 후 패스워드를 넣어봅니다. mysql 모니터에 정상적으로 진입했다면 된겁니다.


★ 5.7.18 버전부터 적용 가능한 설치법에 대한 설명은 여기까지. ★


----------------------------------



이제

mysql이 단독으로 잘 돌아가는지 테스트해 봅시다. DB 혹은 테이블 하나 만들어보면 되겠죠?

일단 데이터베이스 리스트부터 확인해 봅니다.

show databases;

라고 입력합니다.



이렇게 나오네요. test 라는 이름의 DB를 만들겠습니다.

create database test;

show databases;

라고 입력합니다.



바로 전의 스크린샷과 위 스크린샷을 비교해보면 test 라는 DB가 생성되었음을 확인할 수 있습니다.

생성한 DB는 다음에 phpMyAdmin 구동 테스트하면서 삭제하기로 하고, 이제 \q 입력해서 빠져나옵니다.(MySQL 직접 입력은 너무 어려워요.ㅠㅠ)


마지막 단계가 남았는데요, PHP 설치폴더의 php.ini 설정파일에서 mysql 관련 dll파일의 주석을 풀어주라고... 다른 블로그들에 써있네요. php.ini 파일을 메모장으로 엽니다.

Ctrl+F로 Dynamic Extensions 라고 치면 ;extension=블라블라.dll 처럼 확장dll들이 세미콜론(;)으로 주석처리되어 있을겁니다.

;extension=php_mysqli.dll

;extension=php_pdo_mysql.dll

부분을 찾아서 주석을 풀어주고(; 삭제) 저장하고 빠져나오세요.


※ 2018. 03. 25. 추가.

최근 버전인 PHP 7.2.3의 php.ini 샘플파일에는(php.ini-production)

;extension=mysqli

;extension=pdo_mysql

처럼 php_ 와 dll 확장자가 빠져있는 형태로 바뀌었음을 확인했습니다.



이제 설정과정은 모두 끝났습니다. 명령프롬프트(관리자) 하나 띄워서 아파치 서비스 재시작해 줍니다. httpd.exe -k restart 입력!

PHP가 MySQL DB 연결을 제대로 하는지 테스트해 보겠습니다. 아래 내용을 비밀번호만 본인 것으로 바꿔서 아파치 htdocs 폴더에 mysqltest.php 파일로 저장합니다. (파일 인코딩은 UTF-8로 해주세요.)

참고로 test는 아까 안지웠던 DB명이에요. 현재 MySQL에 생성되어 있는 DB이름 아무거나 넣어주시면 됩니다.


<?php

echo "MySql 연결 테스트<br>";

$db = mysqli_connect("localhost", "root", "비밀번호", "test");

if($db){echo "connect : 성공<br>";}

else{echo "disconnect : 실패<br>";}

\$result = mysqli_query($db, 'SELECT VERSION() as VERSION');

\$data = mysqli_fetch_assoc($result);

echo $data['VERSION'];

?>


그리고 웹브라우저 주소창에 http://localhost/mysqltest.php 라고 입력합니다.



위 스크린 샷처럼 뜨면 성공입니다. 이번에는 DB가 만들어지는지 테스트해 보겠습니다. DB명은 test2 로 하겠습니다. 아래 내용을 비밀번호만 본인 것으로 바꿔서 아파치 htdocs 폴더에 mysqltest2.php 파일로 저장합니다. (파일 인코딩은 UTF-8로 해주세요.)


<?php

$conn = mysqli_connect("localhost","root","패스워드");

if (mysqli_connect_errno()){echo "MySQL 연결 오류: " . mysqli_connect_error();}

$sql = "CREATE DATABASE test2"; 

if (mysqli_query(\$conn,$sql)){echo "성공적으로 test2 가 만들어졌습니다.";}

else {echo "데이터베이스 만들기 오류: " . mysqli_error($conn);}

?>


그리고 웹브라우저 주소창에 http://localhost/mysqltest2.php 라고 입력합니다.



위 스크린샷처럼 성공메세지가 뜨면 된겁니다. 이제 phpMyAdmin 깔아서 웹브라우저로 DB 관리할 수 있게끔 꾸밀겁니다. 다음 포스팅에서 방법 설명하겠습니다.


---------------------


※ MySQL 참고 명령어들

1. MySQL 윈도우 서비스 중지하기

명령프롬프트(관리자)에서 net stop mysql 이라고 입력

2. 비밀번호를 생략하고 서비스 시작하기

명령프롬프트(관리자)에서 mysqld --skip-grant-tables 라고 입력. => 해당 명령 프롬프트는 서비스를 실행하느라 쓸 수 없게 되므로, 이후 작업은 명령프롬프트(관리자) 새로 하나 띄워서 진행해야 함. (5.7.17 버전까지만 유효)


트랙백 0 개   l   댓글 145

  • 이전 댓글 더보기
  • 성공 (2017.10.06 21:19 신고)

    5.7.19 설치 성공했습니다. 자세한 설명 감사드립니다.

  • 3시간? (2017.10.07 12:24 신고)

    3시간째삽질 님 댓댓글을 못 찾겠어요.

    • 짐농 (2017.10.07 21:13 신고)

      3시간 // “이전 댓글 더보기”를 클릭해가며 찾아보세요.

  • 춘덕 (2017.10.20 01:35 신고)

    Fatal error: Call to undefined function mysqli_connect()문제로 고생하시는 분들 중에
    phpinfo 찍어 봤을 때 Configuration File (php.ini) Path 항목이 c:\Windows로 찍히는 분들은
    php.ini 파일을 C:\Windows에 넣고 아파치 재시동 해보시길 바랍니다.
    넣고 나니 phpinfo에서 Loaded Configuration File 부분이 php설치한 그 경로를 제대로 반영해서
    바로 성공 메시지 호출 됐습니다. 도움이 되길 바랍니다.

    • 짐농 (2017.10.20 23:57 신고)

      춘덕 // 좋은 팁이네요. 과거에 PHP 설치할 때 ini파일을 윈도우폴더에 넣었던 적이 있으면 그런 증상이 나타날 겁니다.

  • 춘덕 (2017.10.20 01:37 신고)

    그리고 좋은 자료 올려주신 짐농님께 감사 말씀 드립니다.
    덕분에 큰 도움이 됐습니다!

  • alfredo (2017.10.22 16:48 신고)

    덕분에 많이 배워갑니다... 마지막 test2만들기 전까지는 다 되는데 마지막 hotdocs에 파일 저장하고 http://localhost/mysqltest2.php 라고 브라우저에 치니까 404 Not Found 라고 뜨네요 ㅠㅠ 왜이래요?

    • 짐농 (2017.10.22 20:38 신고)

      alfredo // 404에러에 대한 대략적인 원인은 아래 링크에서 파악하실 수 있습니다.
      https://ko.wikipedia.org/wiki/HTTP_404
      위 링크의 내용으로 미루어 짐작해보면 404코드가 제 글의 내용이 잘못되어서 뜨는 것은 아닌 것 같습니다.
      직접적으로 도움되는 답변을 못드려 죄송합니다.

  • 성배 (2017.10.25 20:33 신고)

    다운로드 받아서c:mysql에 압축을 풀었는데 폴더안에 my.ini파일이 없어요...
    이게 없으면 잘못다운로드받은거죠?

    • 짐농 (2017.10.25 22:32 신고)

      성배 // 제가 잘못 다운받으셨다고 말할 위치는 아닌 것 같습니다.^^;;
      MySQL 버전에 맞는 설치방법을 따라가시면 됩니다.

  • 아아악 (2017.11.03 15:22 신고)

    카이스트 ftp 서버에 5.7.17 버전이 없네요 ㅠ
    그래서 5.7.19버전이라도 받아봤는데,,, 여전히 똑같은 곳에서 막힙니다.
    저는 임시비밀번호가 생성이 안됩니다. 왜 그럴까요 ㅠ
    err 페이지를 열어보면 많은 내용들이 있지만 임시비밀번호가 아무리 찾아도 없습니다.
    생성이 안되는거 같은데, 왜 그런걸까요.. 구버전있으면 위의 방법대로 하고 싶습니다 ㅠ 17이전버전이요~~


    비밀번호 입력하지 않는것도 해봤지만, 그러면 오류 메시지가 error 2003 (HY000) : can't connect to mysql server on 'localhost' (10061) 로 나옵니다..
    시스템-관리도구-서비스 에서 mysql 시작하면 시작했다가 중지되었습니다. 메시지 나오면서 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다. 라고 메시지가 뜹니다 ㅠㅠ

    • 짐농 (2017.11.05 02:42 신고)

      아아악 // 5.7.20 설치 테스트 결과, 이상없이 설치되었습니다.
      "Microsoft Visual C++ 2015 재배포 가능 패키지", "Visual Studio 2013용 Visual C++ 재배포 가능 패키지" 설치가 정상적으로 되었는지부터 점검해보시기 바랍니다.

  • 본나바로 (2017.11.06 18:44 신고)

    마지막에 test할때 connect는 안뜨고 연결테스트만 뜨는것도 연동이 된건가요?

    • 짐농 (2017.11.06 22:44 신고)

      본나바로 // 코드 입력하신대로 뜹니다.
      (코드 입력이 잘못됐거나, 연동이 제대로 안됐거나... 둘 중 하나인 것 같습니다.)

    • 본나바로 (2017.11.08 10:24 신고)

      혹시나 해서 test2로 연동해봤더니 입력했던 코드 전부가 다 뜨고 있네요..

    • 본나바로 (2017.11.08 16:02 신고)

      지우고 다시 했더니 성공했습니다. 감사합니다 !

    • www (2018.04.12 23:16 신고)

      어떤 걸 지우고 다시 하셨나요? 저도 같은 오류가 반복되고 있어서요.

  • ny (2017.11.07 09:45 신고)

    mysql을 완벽히 삭제하는 방법이 있나요?install만하면 데이터베이스가 존재한다고 해서 다 삭제를 해봐도 connect 파일 하나가 남아서 계속 오류가 납니다ㅠㅠ레지스터리삭제를 해도 마찬가집니다....혹시 mariaDB라도 연동 가능할까요??나머지 부분은 다 완료해서 mysql만 해결하면 끝나는데 헤메고 있네요...

    • ny (2017.11.07 21:45 신고)

      ERROR 2003 <HY000>:can't connect to MySQL server on 'localhost'<10061>
      계속 이 상태입니다..ㅠㅠ

    • 짐농 (2017.11.08 00:07 신고)

      ny // ZIP파일로 mysql을 설치하면 윈도우 서비스에 mysql이 추가되는 것밖에 없을걸요? (방화벽 포트도 풀리는 게 있으려나요?)
      --remove 옵션으로 mysql 윈도우서비스 삭제하는 것에 대해 본문에 힌트를 남겨놨었습니다. 잘 와닿지 않으면
      http://webdevzoom.com/install-run-uninstall-mysql-service-windows/
      참고해 보시고요,

      --remove 옵션으로 서비스 지운 다음에는 DB저장소(기본값은 C:₩mysql₩data. 바꾸셨다면 바꾼 위치)를 지우고 mysql 폴더도 지워버리면 삭제작업은 끝나지 않을까 싶습니다. 방화벽에 찌꺼기 남았는지도 점검해 주시고요.

  • ny (2017.11.09 23:01 신고)

    성공인 줄 알았는데 마지막 테스트에서 http 500 내부 서버 오류가 뜹니다ㅠㅠㅠ
    원인이 뭔지 모르겠어요...php 파일을 다시 작성해봐도 마찬가지네요...

    • 짐농 (2017.11.10 00:06 신고)

      ny // 님께서는 본인 컴퓨터를 보고 있지만... 저는 님 컴퓨터를 안보고 있으니까 제가 님보다 모를 확률이 더 높겠죠?
      여기저기 찾아보고 해결하세요.

    • 파카데스 (2018.03.08 17:57 신고)

      저도 같은 오류였는데요 다시 지우고 깔고 이것저것 다해보다가 ㅋㅋㅋㅋ 찾았는데 결국 php.ini파일에 적는 경로를 잘못적었더라고요 ㅋㅋㅋㅋ 하나하나 처음부터 다시 검사해보시면 꼭 해내실겁니다 화이팅!!!

    • 짐농 (2018.03.08 22:03 신고)

      파카데스 // 경로 문제일 수도 있고, 파일 인코딩 문제일 수도 있을 듯해요. 쨌든 설치자 본인이 가장 잘 알 수밖에 없는 부분입니다.ㅠ

  • KR2 (2017.11.12 03:50 신고)

    제가 본 글들 중에서 여기가 제일 정리가 잘돼있네요. 답변도 꾸준히 해주시고 글 업데이트도 하시고 감사합니다. 덕분에 3시간은 빨리 잘 수 있겠네요 ㅋㅋㅋㅋ 친절한 설명 감사합니다!

  • ksh (2017.11.18 05:31 신고)

    http://localhost/mysqltest.php 이렇게 치면
    MySql ���� �׽�Ʈ

    Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in C:\Apache24\htdocs\mysqltest.php:3 Stack trace: #0 {main} thrown in C:\Apache24\htdocs\mysqltest.php on line 3

    이렇게 뜹니다 3시간째 어떻게 해야할지 고민이빈다.. ㅠ
    어떻게 해야되나요 ㅠㅠ

    • 짐농 (2017.11.18 20:05 신고)

      ksh // 코드 오타, 파일 인코딩 옵션 UTF-8 미준수 정도가 의심됩니다. 아니면 설정파일 문제일 확률밖에 없습니다.

  • (2017.11.19 04:47 신고)

    제가 친구들과 돈을 모아서 1.2.267버전 팩을 샀는데요...구축시도를 해봤는데요...계속 한곳에서 막혀버려서...애를먹고어요ㅠㅠ 막힌부분이 구동기를 키면 데이터베이스가 할당되지않았다고 뜨는데 도대체 뭐가 문제인지 모르겠네요..혹시 267버전은 자바하고 쿼리 버전이 문제일까요? 게다가 팩을 자세히 들여다보니 소스로되어있어서 넷빈으로 수정을해야 하더라구요ㅠㅠ 혹시 넷빈도 버전이 따로 있습니까?

    • 짐농 (2017.11.19 14:22 신고)

      달 // 저는 MySQL 커뮤니티 서버버전 중에서도 ZIP파일로 설치하는 방법, DB 수동백업/복원 명령어 정도밖에 모릅니다.
      도움 못드릴 것 같네요.

  • 명철 (2017.11.28 22:10 신고)

    마지막 php생성해서 웹페이지를 열었는데 mysql 연결테스트 까지 나오고
    connect: 성공이 안나오는건 무슨 이유일까요??ㅜㅜ
    위에 탭 이름 보니깐 404 not found로 되어있네요 그전까진 다 성공해서 넘어왔는데 ㅜㅜ

    • 짐농 (2017.11.28 22:55 신고)

      명철 // 404 에러의 원인은 다양하다고 검색됩니다. 본인 PC의 환경을 점검해보세요.
      (제가 제시한 코드는 문제 없어보이지 않습니까? 코드 잘 몰라도 구조가 대충 보일 정도로 깔끔하지 싶은데요...)

  • ㄱㅁ (2017.12.19 13:11 신고)

    처음에 실수로 오타를 내서
    PS C:\WINDOWS\system32> mysqld.exe ==initialize 를 실행해버렸습니다...
    다시 고쳐서 실행하니 아래처럼 폴더를 만들수가 없다고 뜨네요 ㅜㅜ
    PS C:\WINDOWS\system32> mysqld.exe --initialize
    mysqld: Can't create directory 'C:\mydata\data\' (Errcode: 2 - No such file or directory)
    2017-12-19T04:07:59.673419Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2017-12-19T04:07:59.675423Z 0 [ERROR] Aborting

    PS C:\WINDOWS\system32>

    • 짐농 (2017.12.19 13:24 신고)

      ㄱㅁ // 명령프롬프트를 관리자 권한으로 띄웠는데도 디렉토리를 못 만드는 증상이 있는 건가요?

    • ㄱㅁ (2017.12.19 13:47 신고)

      네 Windows PowerShell (관리자)로 열었습니다.
      명령 프롬프트 찾아서도 해봤지만 똑같은 결과가 나옵니다.

    • 짐농 (2017.12.19 14:08 신고)

      ㄱㅁ // 파워셸은 저도 실패했었습니다. 명령프롬프트(관리자)가 안되는 이유는 모르겠습니다(되는 게 정상이고, 그래서 스샷을 남길 수 있었는데...).
      MySQL 삭제 방법은 본문에 있으니까 지우고 싶으시면 지우세요.ㅠ

    • ㄱㅁ (2017.12.21 14:08 신고)

      안녕하세요
      어찌어찌해서 data파일이 생성을 했습니다. 그래서 DESKTOP-KLDFPAR.err 파일을 열어봤는데

      2017-12-21T05:04:14.868056Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
      2017-12-21T05:04:15.170361Z 0 [Warning] InnoDB: New log files created, LSN=45790
      2017-12-21T05:04:15.222498Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
      2017-12-21T05:04:15.285165Z 0 [ERROR] unknown option '--port 3306'
      2017-12-21T05:04:15.286670Z 0 [ERROR] Aborting

      라고 뜹니다.
      data폴더 안에 파일도 스샷의 밑에서 5째줄 까지밖에 없고 auto나 다른 performan~,sys폴더가 없습니당 ㅜ

    • 짐농 (2017.12.21 19:22 신고)

      ㄱㅁ // 본문 내의 “옵션 파일에 대한 가이드” 링크를 참조해서 해결해보세요.
      (옵션 파일과는 별개로, 윈도우10 최신빌드의 문제가능성 / mysql 버전별 버그존재 가능성도 존재하긴 합니다. mysql 특정 버전에서는 my.ini 파일을 인식하지 못하는 버그가 있었거든요.)

      가상머신에서 테스트해보니까 mysql 5.7.20 정상 설치되는데요? my.ini 설정파일도 잘 인식합니다.(윈도우10 1607)

  • 이재현 (2018.01.16 15:54 신고)

    주소로 들어가면 mysqltest 안에 있는 코드를 그대로 보여주네요 ㅠㅠ 해결방법 있을까요 ?

    • 짐농 (2018.01.16 21:20 신고)

      이재현 // 환경구축 과정을 설명하지 않으셔서 어디서 문제가 생겼는지 파악이 안되고요, 검증과정 곁들여서 글 쓰는 데에도 시간이 많이 걸려서 무의미한 문제증상을 해결하는 데 시간을 추가로 들이고 싶지 않습니다.
      직접 해결해보시고 어디든 피드백 남기시면 다른 분들께 도움이 될거예요.

  • 박준성 (2018.02.04 19:43 신고)

    위와 같이 다 완료했고 서비스 실행까지 완료했는데..마지막 mysql -u root -p 를 입력했는데 실행이 안되네여..ㅜㅜ

    • 짐농 (2018.02.04 20:53 신고)

      박준성 // “그래서 나는 이 증상을 이렇게 해결했다.”까지 이어서 써주시면 감사하겠습니다.

  • 웹 초보자 (2018.03.22 18:22 신고)

    php.ini 내부에
    ;extension=php_mysqli.dll 이 없을 뿐더러
    ;extension=php~~ 로 시작하는 것 자체가 하나도 없습니다..
    혹시 해결방법 아시나요 ?

    • 짐농 (2018.03.22 21:47 신고)

      웹 초보자 // 현재 기준 최신버전인 php 7.2.3의 ini 예제 파일을 보니 언급하신 부분이 사라진 것을 덕분에 확인했습니다. ;extension=mysqli 이걸로 대체되지 않았나 생각합니다.
      언급하신 부분을 가만히 보시면 mysqli 구문을 사용할 수 있도록 봉인을 푸는 과정임을 알 수 있는데요, mysqli 구문은 PHP에서 mysql db를 조작하는 역할을 하기 때문에 대부분의 CMS에서 사용됩니다. 봉인 풀고 잠그고 해가면서 XE/그누보드/워드프레스 등을 테스트해보고 상황에 맞게 대처하세요.
      아파치/PHP/MySQL 모두 버전이 올라가면 설치법이 조금씩 바뀌기도 합니다. 제 글은 참고용으로 활용하고 공식문서를 뼈대로 하는 것을 추천드립니다.

  • ㅇㅇ (2018.03.24 20:36 신고)

    참고가 될 지 모르는 댓글을 남깁니다.(적어도 시간 낭비는 하지 않게...)
    OS, WIN10-64Bit//아파치 2.4.33 //php 7.23//mysql-5.7.21 //비주얼 스튜디오 2017
    3/24일 자 가장 최신 버전으로 모두 다운 받았습니다.

    누락된 코드는 없다는 가정 아래 진행했습니다.
    아파치랑 PHP Mysql 모두 개별적으로는 잘 설치됐습니다.
    *하지만 본문에 있는 test로 mysql 연동을 확인하는 과정에서
    http 500 에러가 발생하며 웹페이지가 응답이 없는 결과가 나타났습니다.

    오류에 대해서 두 가지를 가정하고 접근 했습니다.

    1. 윈도우 방화벽, 네트워크의 문제로 접속이 불가능한 경우

    2. 버전이 업데이트 되며 구동 방법이 바뀐 경우

    3. 나머지는 기타

    두 가지를 확인하기 위해서 다른 컴퓨터에 깔려있는
    이전 버전의 파일과 비교를 하며 진행했습니다.

    1. 80 포트와 3306 포트를 추가하고 방화벽을 모두 해제했습니다. -> (x)
    공유기를 점검 했습니다. -> (x), 극단적으로 다른 PC는 인터넷이 끊긴 상황에서도 내부적으로는 연동이 되기 때문에
    네트워크의 문제는 아예 배제를 했습니다.

    2. 그렇다면 버전이 업데이트 됐는데 기존의 설치 방법을 사용하며 문제가 발생했다는 결론이 나옵니다.
    그리고 phpmyadmin의 로그인 화면에서도 같은 문제가 발생한 것을 보고
    계정에 대한 문제로 좁혀 생각을 해봤습니다. 본문에 있는 설치 과정을 진행하며 계정과 관련된 부분은 admin의 비밀번호를 set 으로 한 게 고작이기 때문에 그 부분을 본문에 나와있는 ALTER USER~ 로 바꿔서 다시 재설치를 해보았습니다. 결과적으로 phpmyadmin은 성공적으로 진행됐지만 여전히 test php 파일들은 500애러가 발생했습니다. phpmyadmin에서 새로운 data를 만들고 도스창에서 root 계정으로 들어가서 데이터를 확인한 결과 분명하게 mysql이 연동이 됐습니다. 이게 왜 이런지... 비슷한 증상이 있으신 분들은 댓글을 달아주시면 감사하겠습니다. 아울러 비슷한 증상을 겪고 계신분들에게 제 댓글이 참고가 됐으면 하네요.

    • 짐농 (2018.03.30 23:34 신고)

      ㅇㅇ // 윈도우10 64비트, 닷넷 3.5 활성화, 비주얼 스튜디오 재배포 패키지 2013, 2017, Apache 2.4.33, PHP 7.2.4, MySQL 5.7.21
      다시 테스트해봐도 본문의 스크린샷과 결과가 다르게 나오지 않는데요.

      가정은 전부 잘못됐습니다.

      80포트 막혔으면 아파치 테스트부터 통과를 못합니다.
      공유기 점검도 무의미한 게, 내부망에서 접속 테스트하면 공유기 방화벽은 거치지 않게 됩니다.
      (localhost로 테스트하라고 본문에 지속적으로 언급한 것은 네트워크 문제를 최대한 배제시키기 위함입니다.)

      set password = password('1111');
      ▲ 이것만 password 항목을 따로 생성하지, 나머지 두 방식은 mysql이 암호를 저장하도록 설계한 기본 공간에 암호를 저장합니다. 결과는 같아요.

      phpmyadmin이 정상구동 되는데 본문의 test 코드가 작동 안된다고요? 말이 안됩니다. 오타 때문에 문제가 생겼을 확률이 높습니다. 본문의 코드는 복붙하지 마시고 직접 쳐서 넣으세요.

  • 정의령 (2018.04.16 17:54 신고)

    안녕하세요 저는 mysql 5.7.21 버전을 설치하는데 마지막 단계빼고는 다 성공했는데 php 라는게 뭔지... php.ini 는 어느위치에서 열수 있는건지 잘 모르겠네요 혹시 php 가 없으면 mysql server 를 정상적으로 사용할 수 없는 건가요?

    저의경우 설치 프로그램을 사용하면 server 설치가 오류나서(visual 때문은 절대아님) 이 방법으로 설치하고 그 다음 workbench 등의 다른것들을 설치프로그램으로 설치할 생각입니다. 이렇게 했을때 문제없을까요?

    • 짐농 (2018.04.16 21:05 신고)

      정의령 // php는 언어입니다. php로 mysql db를 제어하고자 한다면 php 환경설정 파일(php.ini)를 손봐야 하고, 그게 아니면 필요 없습니다.
      workbench라면 gui로 db를 조작하시려는 의도로 보이는데, 말씀하신 것처럼 겹쳐서 깔아보지 않아서 잘 모르겠습니다. 저는 CMS 구동하려고 아파치, php, mysql을 설치한 거라서요.

★ 댓글을 남겨주시면 감사하겠습니다. ★