Loading...
(5초쯤...)

[윈도우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를 따라가면 됩니다.


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


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

※ 2018. 06. 10. 추가


아래 스샷을 보면 아시겠지만, 다운로드 페이지에는 기본적으로 최신 버전이 보입니다. 그런데 이 포스팅은 5.7버전 설치과정 정리 글이지요? 그러니까 MySQL 5.7 버전을 받아서 따르는 게 탈이 없습니다.


▲ Looking for previous GA versions 를 눌러서 골라 받으면 됩니다.


MySQL 8.0 버전으로 설치하겠다 하시면 말리지 않는데, 문제에 대한 대응도 본인이 직접 하세요.


▲ 예를 들어 이런 문제를 겪을 수 있습니다.

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


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데이터가 저장되길 원하는 공간입니다. 포트까지가 (제일) 기본적인 사항이라 생각하고, 추가를 원하는 항목이 있다면 레퍼런스 매뉴얼 뒤져서 더하면 됩니다.ㅋ

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


※ 2019. 09. 27. 엄청헤맸다 님 제보

위의 설정대로 구성 후 아래의 DB 생성 테스트를 진행했지만 data폴더 안에 파일들이 생성되지 않는다? 이게 InnoDB 관련 문제인 것 같다? 그러면 my.ini 설정파일에 아래의 옵션을 추가하면 된다고 합니다.

innodb_flush_method=normal


이제 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 버전까지만 유효)


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

[우분투 18.04 데스크톱] LAMP : MariaDB 설치과정 정리(MySQL 대신)

[우분투 18.04 데스크톱] LEMP : MariaDB 설치과정 정리(MySQL 대신)

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


p.s. 광고에도 여러분이 관심을 가질만한 정보가 녹아있을 수 있습니다.


트랙백 (0) 개   l   댓글 209

  • 이전 댓글 더보기
  • 블라블라 (2018.05.08 00:52)

    mysql 연결테스트

    Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in C:\Users\~~\Apache24\htdocs\test.php:7 Stack trace: #0 {main} thrown in C:\Users\~~~
    php파일 저장할 때 인코딩으로 utf-8로 하고 위에 설명처럼 extension을 풀어줬는데도 이러는데ㅜㅜㅜㅜㅜㅜ무슨문제인지 알려주실수있나요(~~는 이름입니다..)

    • 짐농 (2018.05.24 10:25 신고)

      블라블라 // MySQL 8.0 공식 문서를 보니까 mysqli_connect() 함수가 도태되었다고(deprecated) 하네요.
      https://dev.mysql.com/doc/refman/8.0/en/mysql-connect.html
      이 함수 대신 mysql_real_connect() 함수를 쓰라고 하는데, php 구문을 다시 짜게 되면 포스팅에 반영하겠습니다. 혹시라도 먼저 코드를 짜셨다면 귀띔 좀 해주세요.
      (이 포스팅은 MySQL 5.7 버전 관련 글이니까... 다소 늦어지더라도 이해를 해주세요.)

  • 경은 (2018.05.26 02:38)

    mysql 5.7.22 버전 다운받고
    php 7.0.30 버전 다운 받았습니다.
    코드에도 오타가 없고 mysqltest.php 파일 저장할 때에도 UTF-8로 저장했는데
    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

    이런 오류가 뜨네요...ㅠㅠ
    혹시 어떻게 해결해야 하는지 알 수 있을까요??

    • 짐농 (2018.05.26 16:32 신고)

      경은 // 5.7이면 코드에 오타가 있을 확률이 가장 높습니다. 심지어 유니코드까지 틀리지 말아야 합니다.

  • 린이 (2018.05.29 16:01)

    2018-05-29T05:09:18.724081Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-05-29T05:09:20.525720Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2018-05-29T05:09:20.829516Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2018-05-29T05:09:21.000171Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 7214fef3-62fe-11e8-b5ac-309c230bf8b9.
    2018-05-29T05:09:21.032407Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2018-05-29T05:09:21.112244Z 1 [Note] A temporary password is generated for root@localhost: y,r>+pICw0th
    2018-05-29T05:15:49.633461Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-05-29T05:15:49.633534Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
    2018-05-29T05:15:49.633823Z 0 [Note] MySQL (mysqld 5.7.22) starting as process 9364 ...
    2018-05-29T05:15:49.640909Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
    2018-05-29T05:15:49.641364Z 0 [Note] InnoDB: Uses event mutexes
    2018-05-29T05:15:49.641627Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
    2018-05-29T05:15:49.642086Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2018-05-29T05:15:49.642644Z 0 [Note] InnoDB: Number of pools: 1
    2018-05-29T05:15:49.642998Z 0 [Note] InnoDB: Not using CPU crc32 instructions
    2018-05-29T05:15:49.654394Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
    2018-05-29T05:15:49.660414Z 0 [Note] InnoDB: Completed initialization of buffer pool
    2018-05-29T05:15:49.764190Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
    2018-05-29T05:15:50.112360Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    2018-05-29T05:15:50.112995Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    2018-05-29T05:15:50.263036Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
    2018-05-29T05:15:50.265421Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
    2018-05-29T05:15:50.265869Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
    2018-05-29T05:15:50.266387Z 0 [Note] InnoDB: Waiting for purge to start
    2018-05-29T05:15:50.317085Z 0 [Note] InnoDB: 5.7.22 started; log sequence number 2589949
    2018-05-29T05:15:50.317796Z 0 [Note] InnoDB: Loading buffer pool(s) from C:\mysql\data\ib_buffer_pool
    2018-05-29T05:15:50.317809Z 0 [Note] Plugin 'FEDERATED' is disabled.
    2018-05-29T05:15:50.341429Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
    2018-05-29T05:15:50.342170Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
    2018-05-29T05:15:50.342820Z 0 [Note] IPv6 is available.
    2018-05-29T05:15:50.343107Z 0 [Note] - '::' resolves to '::';
    2018-05-29T05:15:50.343399Z 0 [Note] Server socket created on IP: '::'.
    2018-05-29T05:15:50.377545Z 0 [Note] InnoDB: Buffer pool(s) load completed at 180529 14:15:50
    2018-05-29T05:15:50.475754Z 0 [Note] Event Scheduler: Loaded 0 events
    2018-05-29T05:15:50.476184Z 0 [Note] MySQL: ready for connections.
    Version: '5.7.22' socket: '' port: 3306 MySQL Community Server (GPL)
    2018-05-29T05:17:13.374250Z 2 [Note] Access denied for user 'root'@'localhost' (using password: YES)
    2018-05-29T06:07:27.749990Z 3 [Note] Access denied for user 'root'@'localhost' (using password: YES)
    2018-05-29T06:15:50.541658Z 4 [Note] Access denied for user 'root'@'localhost' (using password: YES)
    2018-05-29T06:34:09.231579Z 0 [Note] MySQL: Normal shutdown

    2018-05-29T06:34:09.232343Z 0 [Note] Giving 0 client threads a chance to die gracefully
    2018-05-29T06:34:09.232609Z 0 [Note] Shutting down slave threads
    2018-05-29T06:34:09.233592Z 0 [Note] Forcefully disconnecting 0 remaining clients
    2018-05-29T06:34:09.234145Z 0 [Note] Event Scheduler: Purging the queue. 0 events
    2018-05-29T06:34:09.234700Z 0 [Note] Binlog end
    2018-05-29T06:34:09.238323Z 0 [Note] Shutting down plugin 'ngram'
    2018-05-29T06:34:09.238640Z 0 [Note] Shutting down plugin 'partition'
    2018-05-29T06:34:09.238955Z 0 [Note] Shutting down plugin 'BLACKHOLE'
    2018-05-29T06:34:09.239160Z 0 [Note] Shutting down plugin 'ARCHIVE'
    2018-05-29T06:34:09.239351Z 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
    2018-05-29T06:34:09.239627Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
    2018-05-29T06:34:09.239835Z 0 [Note] Shutting down plugin 'MyISAM'
    2018-05-29T06:34:09.240045Z 0 [Note] Shutting down plugin 'INNODB_SYS_VIRTUAL'
    2018-05-29T06:34:09.240297Z 0 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
    2018-05-29T06:34:09.240528Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
    2018-05-29T06:34:09.240765Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
    2018-05-29T06:34:09.241001Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
    2018-05-29T06:34:09.241225Z 0 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
    2018-05-29T06:34:09.241444Z 0 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
    2018-05-29T06:34:09.241666Z 0 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
    2018-05-29T06:34:09.241905Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
    2018-05-29T06:34:09.242138Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
    2018-05-29T06:34:09.242361Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
    2018-05-29T06:34:09.242593Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
    2018-05-29T06:34:09.242826Z 0 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
    2018-05-29T06:34:09.243043Z 0 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
    2018-05-29T06:34:09.243279Z 0 [Note] Shutting down plugin 'INNODB_FT_DELETED'
    2018-05-29T06:34:09.243500Z 0 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
    2018-05-29T06:34:09.243748Z 0 [Note] Shutting down plugin 'INNODB_METRICS'
    2018-05-29T06:34:09.243961Z 0 [Note] Shutting down plugin 'INNODB_TEMP_TABLE_INFO'
    2018-05-29T06:34:09.244197Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
    2018-05-29T06:34:09.244439Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
    2018-05-29T06:34:09.244675Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
    2018-05-29T06:34:09.244902Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
    2018-05-29T06:34:09.245147Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
    2018-05-29T06:34:09.245378Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
    2018-05-29T06:34:09.245606Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM'
    2018-05-29T06:34:09.245816Z 0 [Note] Shutting down plugin 'INNODB_CMP_RESET'
    2018-05-29T06:34:09.246052Z 0 [Note] Shutting down plugin 'INNODB_CMP'
    2018-05-29T06:34:09.246255Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
    2018-05-29T06:34:09.246474Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
    2018-05-29T06:34:09.246680Z 0 [Note] Shutting down plugin 'INNODB_TRX'
    2018-05-29T06:34:09.246881Z 0 [Note] Shutting down plugin 'InnoDB'
    2018-05-29T06:34:09.247192Z 0 [Note] InnoDB: FTS optimize thread exiting.
    2018-05-29T06:34:09.247482Z 0 [Note] InnoDB: Starting shutdown...
    2018-05-29T06:34:09.348207Z 0 [Note] InnoDB: Dumping buffer pool(s) to C:\mysql\data\ib_buffer_pool
    2018-05-29T06:34:09.349578Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 180529 15:34:09
    2018-05-29T06:34:10.144864Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2589977
    2018-05-29T06:34:10.145417Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
    2018-05-29T06:34:10.145692Z 0 [Note] Shutting down plugin 'MEMORY'
    2018-05-29T06:34:10.145885Z 0 [Note] Shutting down plugin 'CSV'
    2018-05-29T06:34:10.146068Z 0 [Note] Shutting down plugin 'sha256_password'
    2018-05-29T06:34:10.146302Z 0 [Note] Shutting down plugin 'mysql_native_password'
    2018-05-29T06:34:10.146718Z 0 [Note] Shutting down plugin 'binlog'
    2018-05-29T06:34:10.147491Z 0 [Note] MySQL: Shutdown complete

    2018-05-29T06:34:11.246369Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-05-29T06:34:11.246437Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
    2018-05-29T06:34:11.246722Z 0 [Note] MySQL (mysqld 5.7.22) starting as process 9632 ...
    2018-05-29T06:34:11.254427Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
    2018-05-29T06:34:11.254963Z 0 [Note] InnoDB: Uses event mutexes
    2018-05-29T06:34:11.255267Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
    2018-05-29T06:34:11.255619Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2018-05-29T06:34:11.256183Z 0 [Note] InnoDB: Number of pools: 1
    2018-05-29T06:34:11.256562Z 0 [Note] InnoDB: Not using CPU crc32 instructions
    2018-05-29T06:34:11.259128Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
    2018-05-29T06:34:11.264838Z 0 [Note] InnoDB: Completed initialization of buffer pool
    2018-05-29T06:34:11.330440Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
    2018-05-29T06:34:11.462810Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    2018-05-29T06:34:11.463434Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    2018-05-29T06:34:11.623537Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
    2018-05-29T06:34:11.625881Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
    2018-05-29T06:34:11.626316Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
    2018-05-29T06:34:11.626854Z 0 [Note] InnoDB: Waiting for purge to start
    2018-05-29T06:34:11.694522Z 0 [Note] InnoDB: 5.7.22 started; log sequence number 2589977
    2018-05-29T06:34:11.695207Z 0 [Note] InnoDB: Loading buffer pool(s) from C:\mysql\data\ib_buffer_pool
    2018-05-29T06:34:11.695245Z 0 [Note] Plugin 'FEDERATED' is disabled.
    2018-05-29T06:34:11.748989Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
    2018-05-29T06:34:11.749629Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
    2018-05-29T06:34:11.750282Z 0 [Note] IPv6 is available.
    2018-05-29T06:34:11.750705Z 0 [Note] - '::' resolves to '::';
    2018-05-29T06:34:11.751020Z 0 [Note] Server socket created on IP: '::'.
    2018-05-29T06:34:11.813369Z 0 [Note] InnoDB: Buffer pool(s) load completed at 180529 15:34:11
    2018-05-29T06:34:11.872205Z 0 [Note] Event Scheduler: Loaded 0 events
    2018-05-29T06:34:11.872733Z 0 [Note] MySQL: ready for connections.
    Version: '5.7.22' socket: '' port: 3306 MySQL Community Server (GPL)
    2018-05-29T06:36:49.246906Z 2 [Note] Access denied for user 'root'@'localhost' (using password: YES)
    2018-05-29T06:49:38.019417Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
    2018-05-29T06:49:59.027370Z 4 [Note] Access denied for user 'root'@'localhost' (using password: YES)
    2018-05-29T06:53:17.003102Z 5 [Note] Access denied for user 'root'@'localhost' (using password: YES)

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

    안녕하세용.. 서비스에서 실행중까지 다 성공시키고
    명령 프롬프트에서 mysql -u root -p 입력 후 ENTER PASSWORD에서
    메모장에 root@localhost: y,r>+plCw0th 되어있어서 포스팅대로 임시 비밀번호 입력했더니

    비밀번호가 맞지 않는다고 자꾸 뜹니다ㅠ 왜그런지 모르겠네요....

    남아있는 파일 다지우고 시스템에있는것도 다 지우고 새로 해봐도 안되네요ㅠ
    회사컴퓨터로 하는데..
    기존에 있는 서버랑 상관이 있는건가요? 왜 비밀번호가 다르다는건지 모르겠네요ㅠ

    댓글읽다 보니 파워셸에서 안된다는 말이 있던데 명령프롬프트가 아니라 그런가요,

    다 설치 실행잘됐고 비번만 틀리다고 계속 나오는데ㅜ

    • 짐농 (2018.05.29 18:42 신고)

      린이 // 가장 의심되는 부분은 명령프롬프트를 관리자 권한으로 실행했는지입니다. (경험상) 파워셸에서 안되는 것 맞고, 파워셸 대신 명령프롬프트 뜨도록 하는 옵션이 윈10 설정에 있었던 것으로 기억합니다.
      기존에 세팅하셨던 서버가 있다면 공식문서를 해독 가능하신 레벨인 듯한데, 저한테 가르침을 주셔야죠.ㅠㅠ 많이 도와주세요.

    • 린이 (2018.06.01 12:12)

      제가 개발자가 아니고 퍼블이라..ㅠㅠ 명령프롬프트로 했더니 성공^^ 감사합니다ㅠ 이번에 모바일 청첩장 제손으로 아예 만들어보려고 공부 하고있거든용

  • kim (2018.06.10 13:54)

    안녕하세요! 따라하다가 두 군데에서 막혔는데
    1. db연결 테스트 하는 부분에서
    MySQL연결 테스트
    Connect:성공
    까지만 나오고 아래 버전 정보는 나오지 않더라구요
    2. phpMyAdmin에서도 로그인이 안됐어요. 맞는 비밀번호를 입력했는데도 로그인이 실패했어요

    그래서 확인해보니 mysql 버전 설치를 잘못했더라구요
    https://dev.mysql.com/downloads/mysql/ 이 링크에 들어가서
    바로 그 페이지에 있는 mysql community server 8.0.11을 다운 받았었는데
    그걸 uninstall하고 오른쪽에 있는 Looking for previous GA versions? 아래에 있는
    MySQL Community Server 5.7버전으로 다시 재 설치해서 해보니 제대로 됐어요!

    감사합니당 :) 앞으로도 좋은 글 잘 부탁드려요.

    • 짐농 (2018.06.10 18:51 신고)

      kim // 카이스트 FTP서버 주소를 본문에 적어놨었는데, MySQL 공식 홈페이지에서는 알아서들 받으실 것으로 예상했었습니다.
      kim님 댓글 보고 느낌이 쎄~ 해서 본문에 추가해 놨습니다. 피드백 감사해요.

      phpMyAdmin 제대로 안 돌아가는 원인을 누가 제공했는지 굳이 따지자면... MySQL 측입니다(본문에 스샷 추가했음). 얘네가 치명적인 버그를 달고 출시할 때가 종종 있어요.

  • irakla (2018.06.24 23:58)

    이쪽에 아무것도 모르는 상태에서
    깔지말라고 하신 최신버전 mysql 8.0.11을 깔고 연결테스트 코드를 실행해봤다가 실패로 뜨는 바람에, 성공하기 위해 험난한 과정을 겪었습니다.

    mysqli_connect함수가 정상적인 파라미터를 가지고있음에도 실패하는 원인으로는
    mysql의 authentication plugin이 8.0.11버전 부로 mysql_native_password보다 더 풀기 어려운 caching_sha2_password로 바뀌면서
    비밀번호의 암호화방식이 바뀜에 따라 문제가 되는 것 같습니다.
    (잘 모르는 상태에서 검색과 결과만으로 추정한 거라 뭐라 쉽게 표현이 안되는점, 정확하지 않을 수 있는 점 양해부탁드립니다.)

    당장에 해결해본 방법으로, sql서버에서 root계정의 암호화방식을 바꿈으로써 해결하였습니다.

    ALTER USER root@localhost
    IDENTIFIED WITH mysql_native_password
    BY '이전과 동일한 비밀번호';

    mysql서버에서 위의 쿼리를 입력하고 나서,
    여기서 나온 연결테스트 코드가 정상적으로 실행되었습니다.

    • 짐농 (2018.06.25 09:22 신고)

      irakla // 아, 보안을 기존 수준으로 낮추는 식으로 임시 대처할 수 있군요. 팁 감사합니다.
      저는 mysql이 php에 맞춰지든 php가 mysql을 지원하든 정식으로 해결될 때까지 기다려 보려고요.

  • park (2018.07.01 09:56)

    감사합니다.

  • wozhidao (2018.07.03 11:39)

    MySql 연결 테스트

    Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in C:\Apache24\htdocs\mysqltest.php on line 3

    Warning: mysqli_connect(): (HY000/2054): The server requested authentication method unknown to the client in C:\Apache24\htdocs\mysqltest.php on line 3
    disconnect : 실패

    Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in C:\Apache24\htdocs\mysqltest.php on line 6

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\Apache24\htdocs\mysqltest.php on line 7

    자꾸 이런 오류 뜨는데 어떻게하나요

    마지막에 php 파일 테스트 장면입니다..

    • wozhidao (2018.07.03 14:42)

      해결했습니다.

      저는 윈도우를 다시 깔고 해결하였습니다.

      이러한 오류가 알아본바..

      이전에 자꾸 깔고 삭제하고 그위치에 재설치를 하면 이러한 오류가 뜨는거같습니다.

    • 짐농 (2018.07.03 21:47 신고)

      wozhidao // 뭔가 느낌이 이상한데 해결되어 다행이네요. 피드백 감사합니다.

  • 해결 (2018.07.20 15:44)

    먼저 이렇게 상세한 포스팅으로 APM 서버 구축에 도움 주신 짐농님께 너무나 감사합니다.
    더불어 mysqli_connect문제로 난항을 겪고 계신 여러분들 짐농님의 코드에서 본인의 오타를 발견하지 못하셨다면,
    아파치 폴더의 httpd.conf 파일에서 PHPIniDir 의 경로를 제대로 적어놓으셨는지도 확인해보시면 좋을 것 같습니다.
    저 같은 경우는 거기에서 오타가 있었네요. 오타 수정 후 php.ini-production파일 이름을 php.ini로 바꾸고, 아파치 재시작 -> local/phpinfo.php 찍어보니 Loaded Configuration File에 ini파일이 올라오는 것을 확인할 수 있었습니다.

    위에 Loaded Configuration File 경로 확인할 수 있도록 댓글 달아주신 그 분께도 감사합니다.
    다른 분들께 도움이 될까 싶어 저도 여기에 댓글달아둡니다 ^^ 좋은 하루 되세요!

    • 짐농 (2018.07.21 10:12 신고)

      해결 // 실수할 만한 부분을 짚어주셔서 감사합니다. 이런 댓글 좋네요!

    • 와진짜 (2020.05.08 20:32)

      와 진짜 감사합니다 한시간 넘게 헤매다가 자포자기 한 심정으로 댓글 읽어보다가 덕분에 해결했어요 아 사랑해요 어디사세요 그쪽으로 절 3000번하겠습니다 앞으로 오줌쌀때 그 쪽으로 안쌀게요

  • 발챙이 (2019.03.13 00:16)

    mysql 버전 업 후 셋팅방법이 달라졌는 줄 몰랐네요.. 진작에 여기서 글 확인할 걸 그랬습니다 ㅎㅎ
    덕분에 잘 설치해서 사용합니다~! 감사합니다(꾸벅)

    • 짐농 (2019.03.13 21:15 신고)

      발챙이 // mysql 8.0 버전을 php가 지원하면... 그 때 수정사항 반영할게요.

  • phpmyadminㅜㅜㅠ (2019.06.27 20:01)

    MySql 커넥션 테스트
    disconnect : fail

    여기까지 나오고, disconnect가 뜨는데요
    비밀번호는 맞구요
    $db = mysqli_connect("localhost", "root", "1234", "test");
    이부분에서 $db에 false가 들어가는것 같은데 문제가 있나요?

    mysql이 미리 깔려있어서 mariadb로 사용중입니다

    • 짐농 (2019.06.27 20:36 신고)

      phpmyadminㅜㅜㅠ // MySQL 버전 확인해보세요. 8.0으로 깔았다면 php 7.3까지 MySQL 8.0의 기본 보안 설정을 지원하지 못해서 그런 겁니다. MySQL 5.7이면 본문대로 안 따라하셔서 그런 겁니다. 다시 점검해보세요.

      마리아DB는 윈도우에서 안 돌려봐서 말씀드리지 못하겠습니다. 저도 우분투에선 마리아DB 쓰는데... ^^;;

  • 김재윤 (2019.08.15 23:43)

    <?php

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

    $db = mysqli_connect("localhost", "root", "1234", "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 500 에러 뜨는데 어떻하죠?

    • 짐농 (2019.08.16 12:40 신고)

      김재윤 // 본인 PC 문제는 본인이 해결. 못하겠으면 근처 PC 수리점이나 저한테 의뢰하시면 되겠습니다.

  • 와 진짜 엄청헤맸다ㅠㅠ (2019.09.27 16:37)

    정말 깔끔하게 정리하셔서 많이 배웠습니다 감사합니다. 저는 맥북에서 윈도우 환경을 쓰고 있어서 my.ini에 innodb_flush_method=normal도 추가를 해줘야 data폴더 안에 정상적으로 파일들이 생성이 되더라구요 이것도 추가해주시면 감사하겠습니다!!

    • 짐농 (2019.09.27 21:46 신고)

      엄청헤맸다 // InnoDB 관련 에러가 뜨는 경우가 있단 말이지요? 피드백 감사합니다. 추가해 놓겠습니다.

  • qlqlqlqlq (2019.10.14 19:04)

    마지막에 mysqltest.php 실행하는데 첫번째 줄 'MySql 연결 테스트'만 나와요.
    어떻게 해야하죠....???

    • 짐농 (2019.10.14 19:29 신고)

      qlqlqlqlq // 본인이 뭘 잘못 따라했는지 되짚어보시면 됩니다.

  • 뿐빵 (2019.11.13 16:09)

    MySQL을 깔고나니 명령 프롬프트에서 httpd.exe -k start를 쳤는데 httpd.exe는 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜹니다. 이 외에도 install restart 전부 그렇게 뜹니다. ㅠㅠ 어떻게 해야 할까요😅

    • 짐농 (2019.11.13 16:11 신고)

      뿐빵 // 파워쉘 말고 명령프롬프트(관리자)로...

  • (2020.02.16 22:32)

    비밀댓글입니다

  • HEL (2020.02.20 00:40)

    MySQL으로 다른 프로그램에 연동을 시도하려는 학생입니다.
    MySQL을 zip으로 깔지를 않고 installer를 통해 MySQL Database 관리 프로그램을 다운받고 하고 있습니다.
    php, Apache24는 블로그를 보고 성공했지만 MySQL을 zip으로 하지 않고 installer로 MySQL을 관리하고 있다보니
    MySQL의 부분에서 막히게 되었습니다. 현재 애써서 해보았지만, cmd는 모두 됩니다만 my.ini 파일을 넣지 않아서
    인지 테스트는 역시 실패하여 여쭈어보려고 합니다.

    MySQL을 꼭 installer가 아닌 zip 파일을 다운받아 해야 하나요? 혹시 맞다면 그 이유도 알수 있을까요?
    죄송합니다 부탁드립니다.

    • 짐농 (2020.02.20 00:55 신고)

      HEL // 설치하신 MySQL 버전은?

    • HEL (2020.02.24 20:07)

      MySQL 8.0입니다 최신버전으로 관리하고 있습니다.

    • 짐농 (2020.02.24 20:44 신고)

      HEL // PHP가 MySQL 8의 보안 정책을 지원하지 않아서 생기는 문제입니다.
      구글링하셔서 MySQL 8의 보안 수준을 MySQL 5.7 수준으로 낮추거나, MySQL 8 삭제 후 5.7로 설치하세요.
      (저는 첫번째 해결책을 추천하지 않습니다. PHP가 MySQL 8 버전을 지원하면 포스팅 다시 할 계획이고요.)

    • HEL (2020.02.27 22:50)

      MySQL installer 에서 보안을 5.7 수준으로 낮출 수 있게 설정할 수 있는 기능이 있더라고요! 그 다음은 다행히 성공했습니다!
      어떤 문제인지 가르쳐주셔서 수월하게 했습니다 감사합니다!

  • 승현 (2020.02.21 17:05)

    다른것은 다되는데 http://localhost/mysqltest.php 이부분에서 아래메세지가 뜨고있습니다.
    도움부탁드립니다~

    Parse error: syntax error, unexpected '$result' (T_VARIABLE), expecting identifier (T_STRING) in C:\Apache24\htdocs\mysqltest.php on line 6

    sql버전은 5.7.22 입니다.

    • 짐농 (2020.02.21 17:50 신고)

      승현 // 이런 것은 정식으로 의뢰하셔야 할 것 같습니다. 예전에 한 번 봐드린 적이 있는데, php 설정부터 꼬여 있어서 시간을 많이 썼습니다.
      아무튼, 의뢰 원하시면 메일을 주세요(제 시간을 돈으로 사세요.ㅋ).

    • 칠칠이 (2020.03.01 11:57)

      $result 앞에 \가 쓰여 있을겁니다. 그걸 지우세요. 그럼 해결됩니다.

    • 짐농 (2020.03.01 13:56 신고)

      칠칠이 // MathJax 수식 표현 스크립트의 링크가 깨지는 바람에 본문의 소스코드 표현이 틀어졌던 것 같습니다. 해당 문자들을 유니코드가 다르면서 비슷하게 보이는 것으로 교체하여 문제를 해겼했습니다.

      지적해주셔서 감사합니다.

  • 설치중 (2020.07.01 00:40)

    안녕하세요. 현재 mysql 5.6.18 버전으로 설치 중입니다.

    system DB 설정을 하면 아래와 같은 에러 메세지가 뜹니다.

    C:\windows\system32>mysql.exe --initialize
    mysql: [ERROR] unknown variable 'basedir=C:/mysql'

    my.ini 파일 설정은 하기와 같습니다.

    [mysql]
    # set basedir to your installation path
    basedir=C:/mysql
    # set datadir to the location of your data directory
    datadir=C:/mysql/data
    port=3306

    어느 부분을 수정하면 되는지 답변 부탁 드립니다.

    감사합니다.

    • 짐농 (2020.07.01 00:57 신고)

      댓글 작성하고 지우시는 것을 보면 자체해결 가능한 레벨인 것 같습니다. 본문+댓글 참고하세요.

    • 설치중 (2020.07.02 00:51)

      감사합니다.~ system DB 설정 시 명령 프롬프트(관리자)에서 mysqld.exe -- initialize를 해야 하는데 mysql.exe --initialize로 타이핑을 했네요.ㅜㅜ 이건 해결했습니다.

      그런데 mysql 접속을 위해 명령프롬프트(관리자)에서 mysql -u root -p 입력 후 엔터를 치면 어제와 같은 에러 메세지가 뜨네요...

      [ERROR] unknown variable 'basedir=C:/mysql'

      제가 경로 설정시 잘못한게 있을까요? 저녁부터 지금까지 못찾고 있네요..ㅜㅜ


    • 짐농 (2020.07.02 10:36 신고)

      제 추측으로만 해결할 수 있는 케이스가 아닌 것 같습니다. 본문대로 따라해 보시고, 원격으로 도움 받고 싶다면 메일을 주세요(무료는 아닙니다. 비싸진 않습니다.).

    • 설치중 (2020.07.03 16:11)

      안녕하세요. 어디서 잘못 되었는지 모르겠지만.... 처음부터 다시 설치를 하니 정상적으로 동작을 합니다. SQL 버전은 5.7.18입니다. 도움주셔서 감사합니다.~~

  • 땅차니 (2020.08.04 11:54)

    유용한정보 너무나 감사드립니다 ㅠㅠ 근데 쭉 잘 따라하다가 mysqltest.php 불러오는 부분에서 페이지가 작동하지 않습니다. 라고 뜹니다..ㅠㅠ 어떤 문제일까요

    • 짐농 (2020.08.04 15:47 신고)

      설마, 한두 줄의 댓글로 제가 원인파악을 할 수 있을 거라고 생각하시는 것은 아니죠?
      본문을 똑같이 따라하시거나, 저처럼 구현 과정 전부를 자세하게 적어서 문의해 주세요.

  • 고진성 (2020.08.04 18:15)

    혹시 mysqltest.php 테스트 해보실 때 "웹 사이트에서 페이지를 표시할 수 없습니다... HTTP500
    이렇게 나오면서 그 다음을 진행하지 못하시는 분이 계시면, 아래 문장으로 테스트 해보세요.
    저는 위 에러에 대해서 해결책을 못 찾아서 아래 문장으로 테스트를 완료했습니다. 실력도 아직 미진하고 컴 손 놓은지가 20년이 넘어서, 다시 해보려니 정말 어렵군요..암튼 해보세요.
    <?php
    echo "MySql 연결 테스트<br>";
    $link=mysqli_connect("localhost ","root","1111", "test ");
    if($link->connect_errno){
    echo '연결실패. : '.$link->connect_error.'';
    }else{
    echo '연결성공!'.'<br>';
    }
    ?>

★ 댓글, 작은 정보지만 다른 분들께 큰 도움이 됩니다. ★