
안녕하십니까..
저는 "xampp" << 이 금쪽이를 다루면서 거의 100만가지 오류를 마주한 후 이젠 cmd와 영적으로 소통할 수 있는 단계에 이르렀는데요,,,?
어제 새벽에도 또 새로운 오류를 마주해서 극도의 분노상태에 이른 관계로 이젠 구글링조차 지쳤기 때문에
제가 구글링해서 찾은 각종 오류 해결법 몽땅 모아서 총 정리글을 열심히 써보았습니다^^
ㅎㅎ.........
아 참고로 윈도우 기준이고, php와 mysql 용으로만 설치한 것이기 때문에 apache와 mysql 오류 해결방법만 다룹니다.
또 다른 오류를 마주하면 (더 이상은 안그래야 할텐데..) 계속 글을 수정해나갈 생각입니다.
1. 설치 및 기본 조작
사실 설치는 다들 무난하게 오류없이 되는 것 같아서 간단하게만 기록
아래 사이트에서 다운로드 가능
1) 다운로드 후 설치파일 실행

중간에 이렇게 알림창 한 두개 뜨는 데 모두 예/OK 누르기


경로는 그냥 그대로 이렇게 해놓는게 나중에 오류날 때 찾기 쉬워서 편하더라구요

이제 제대로 작동하는지 test하기 위해 XAMPP control panel을 들어가보면 위와 같이 나타남
apache의 start 버튼을 눌러서 웹서버를 구동시키면

이렇게 배경이 초록색으로 변하고 포트 넘버가 80, 443으로 뜨면 정상적으로 실행된 것!

주소창에 localhost를 입력하여 위와 같이 뜨면 정상적으로 실행중된다는 뜻

기존에 설치시 자동으로 만들어준 경로(C:\xampp)를 사용했다면,
XAMPP의 Apache 서버는 XAMPP 폴더에서 htdocs폴더를 기준으로 실행이 됩니다.
따라서 이후 웹페이지 구성 시 생성하는 html이나 php파일을 이 htdocs 폴더 내에 넣어야 함.
저처럼 괜히 바탕화면에 파일 만들어놓고 왜 안되지?? 하지 마세요..


테스트를 위해 위와 같은 간단한 php 파일을 작성하고,
이 파일명을 아까 언급했던 htdocs 폴더에 저장 후 브라우저에서 localhost/test.php를 입력하면 위와 같이 뜹니다.
설치 참고 사이트:
2. php 설정하기
php 사용 전 php 파일 설정을 바꿔보겠습니다.
여러가지 설정들이 있지만 저는 두 가지만 하겠습니다.

일단 php 폴더에 들어가야 합니다.
php 폴더에 들어가면 php라는 같은 이름을 가진 파일이 2개가 있는데,
여기서 확장자는 .ini로 끝나는 것/ 보이지 않는다면 그냥 구성 설정이라고 쓰여진 것을 선택하면 됩니다.
php 파일 우클릭 > 편집 > crlt + f 눌러서 검색 기능 활성화
1) display_errors

ctrl+F 로 검색창에 display_errors를 친 다음 찾기를 몇 번 누르다 보면
위와 같은 위치에 세미콜론 없이 쓰인 문장이 있습니다.
만약 뒤 단어가 Off라고 되어 있다면 On으로 바꿔줍니다.
이걸 On으로 바꾸면 에러가 발생했을 때 에러 내용을 화면에서 볼 수 있기 때문에 개발을 편리하게 할 수 있습니다.
(기본값이 off인 이유는 자세한 에러 내용을 사용자에게 보여주면 해커에게 좋은 단서가 되기 때문)
2) opcache.enable = 0으로 바꾸기

다음으로 검색창에 opcach를 검색하고 다음 찾기를 누르면
위와 같이 뜨는데, 등호 뒤의 숫자가 1으로 되어 있다면 이를 0으로 바꿔주면 됩니다.
opcache이 켜져 있으면, php 수정 내용이 바로 반영이 되지 않고, 30초 정도 뒤에야 반영이 되기 때문에 php 코드 수정이 바로 반영이 되도록 개발을 할 때는 끄는 것이 좋습니다.
완료 후 저장 잊지 말기!
설정을 변경했다면 적용을 위해 마지막으로 apache를 재시작하면 끝
3. Visual Stusio Code에서 PHP 사용 시 발생 오류
vscode로 본격적인 php 사용을 하려고 할 때 아래와 같은 오류가 발생할 수 있습니다.


설정을 열어 setttings.json 파일에 들어가니 이렇게 뜹니다.

일단 php 버전을 찾는 phpinfo 이름의 php파일을 생성하고 localhost로 이를 로드해보면 위와 같은 화면이 뜸
자세히 들여다보면 나의 php 파일의 제 컴퓨터 상 경로가 있습니다.
이를 복사해준 다음,

아까 settings.json파일의 "" 사이에 넣어줌
이미 알겠지만 코드에 경로 넣을 때는 \를 하나씩 더 넣어줘야 오류가 안 뜨겠죠?
이를 저장하고 vscode 재부팅 후
전 아래와 같이 테스트용으로 index.html과 index.php라는 두 개의 파일을 생성했습니다.


index.html 이름의 html파일을 만들어서 안에 날짜와 시간을 넣어주고 출력하면
위와 같이 작성한 문장 그대로 뜨고, 페이지 소스 검사 해보면 vscode 에 적은 코드가 그대로 뜨는 것을 볼 수 있음

다음으로 위와 같은 index.php 파일을 로드했는데
의도와 다르게 위와 같이 그냥 작성한 코드 전부가 그대로 화면에 등장하는 오류가 발생했는데요..
어쩐지 순탄하다 했더니...
SPAWN UNKNOWN이라는 오류도 떠서 이 오류명에 대한 구글링을 통해 아래와 같은 해결방법을 찾았습니다.
- vscode에서 아래와 같이 PHP debug라는 이름의 확장프로그램을 설치

2. 아까 settings.json 파일에서 경로를 그대로 복사했었는데, 맨 뒤에 ini를 exe로 바꿔서 저장해주기
(구글링 해보니 ini여야 되는 사람이 있고 저처럼 exe로 바꿔야 작동되는 사람이 있는것 같은데.. 왜 그런진 잘 모르겠네요)


참고 사이트:
https://www.appsloveworld.com/php/216/visual-studio-code-spawn-unknown
4. MySQL 비밀번호 설정 및 관련 오류 해결
이거이거... 아주(x100) 중요합니다
이거 한 번 잘못하면 정말 끝없는 오류의 굴레에 빠져 결국 재설치 엔딩을 맞이할수도...
이미 오류 굴레 속에 계신 분들은 제 해결 방법들을 참고해보세요!
(본인한테 맞는 방법으로 골라서 시도)
1) 초기 비밀번호 설정하기 - phpmyadmin 사용

먼저 apache과 mysql 키신 다음에 저 admin 버튼을 눌러서 phpmyadmin으로 입장

상단 메뉴에서 user accounts 클릭하시면 overview 제일 하단에 root / localhost가 보입니다.
여기서 edit privileges 클릭

진입 후 상단에 change password 클릭

password 란에 설정한 비밀번호를 입력하고, retype에 똑같이 적어준 뒤 생성 버튼(Go) 클릭하면 끝
설치 후 처음 설정하시는 경우나, 기존의 비밀번호를 재설정 하시는 경우 모두 해당 됩니다!
그런데 여기서 끝이 아니고 추가로 더 설정해야 오류가 안나요

C:/xampp/phpmyadmin/ 경로에서 config.inc 파일 열기
$cfg['Servers'][$i]['password'] = 'YourPassword';
그럼 코드중에 위와 같이 적힌 부분이 있습니다.
비밀번호 처음 설정하시는 분이면 비밀번호 값이 공란이라 = ' '; 로 되어있을 텐데, 여기에 앞서 설정하셨던 비밀번호를 입력한 뒤에 저장해주세요.

다음으로 xampp 다시 들어가서 이번엔 우측에 shell을 클릭
mysqladmin -u root password
flush privileges

위와 같이 적으면 패스워드를 입력할 수 있는 란이 뜨는데 거기에 앞서 설정했던 패스워드를 입력해주시구요,
마지막으로 flush privileges 를 입력하여 query OK가 뜨면 exit하고 마무리하시면 끝입니다!!
제가 놓쳤던게 바로 저 flush privileges 인데요, 터미널로 패스워드 설정하거나 앞선 방법처럼 phpmyadmin에서 직접 비밀번호를 변경한 뒤 config.inc 수정하는 것 까진 다른 분들이 동일하게 하셨더라구요
저도 그렇게 했었는데 잘되다가 노트북 재부팅하면 분명 using password:Yes 라고는 뜨는데 정작 phpmyadmin은 암호가 걸려서 진입 불가라고 뜨고, 터미널로 mysql 진입을 해보면 또 비밀번호가 설정되어 있지 않아서 비밀번호 없이 진입이 가능한 이상한...오류를 마주했습니다.


결국 사실상 저 flush privileges를 해줘야 DB의 환경 설정을 기존 캐시를 지우고 새롭게 시스템의 설정을 변경할 수 있게 되는 거더라구요 쩝...
아 참고로 DB에서 테이블 추가나 삭제 등의 변경을 환경 설정이 아니기 때문에 이를 사용하지 않아도 됩니다.
아래는 제가 참고한 유튜브와 사이트
https://www.youtube.com/watch?v=w312ogCUd00
https://kinsta.com/knowledgebase/xampp-mysql-password/
2) 초기 비밀번호 설정하기 - 터미널 사용(1)
터미널에서도 명령어를 입력하여 비밀번호를 설정 및 수정할 수 있습니다.
먼저 xampp의 apache 서버와 mysql 서버 차례대로 켜주신 다음에

시스템 속성 > 환경 변수 > PATH 클릭 > 편집 눌러서 위와 같이 mysql\bin 경로 추가 (환경 변수 설정)

mysqladmin -u root PASSWORD 내비밀번호
flush privileges
그 뒤에 admin을 눌러 phpmyadmin에 진입하면 또 다시 위처럼 오류가 나므로 config.inc 파일까지 수정해야 합니다.

해당 파일을 열어서 password 란에 자신의 비밀번호를 입력하고 저장한 뒤, xampp를 다시 켜보시면 잘 작동되는 것을 확인할 수 있습니다.
3) 초기 비밀번호 설정하기 - 터미널 사용(2)
터미널을 사용하는 또 다른 방법입니다.
사실상 앞의 방법과 동일한데 코드만 다르니 참고해주세욤
1. xampp apache와 mysql start
2. 환경 변수 편집
3. 터미널 명령
mysql -u root -p
초기 설정이면 비밀번호가 없으니 enter password: 가 나오면 그냥 엔터 누르시면 되고, 기존에 있으셨던 분들은 본인의 비밀번호를 기입하시면 됩니다.
use mysql # mysql 데이터베이스 선택
UPDATE user SET Password = password('설정할 비밀번호') WHERE user = 'root';
또는
ALTER USER 'root'@'localhost' IDENTIFIED BY '설정할 비밀번호';
첫 번째꺼 안되면 두 번째 alter 문으로 해주세요.
마지막으로 flush privileges; 로 시스템에 커밋 후 종료
참고 사이트: https://beop07.tistory.com/14
아 구글링 하다가 MacOS 사용하시는 분의 비밀번호 설정하시는 것도 봐서 같이 첨부합니다. Mac 사용자분들 참고하세요!
참고: https://firstblog912.tistory.com/90
5. MySQL shutdown unexpectedly 오류 해결 방법
이 shutdown 오류가 제가 가장 많이 마주했던 오류입니다.
shutdown 원인은 매우 다양하지만 대체로 DB 작업 중에 mysql 관련 파일이 꼬였거나, 포트가 다른 프로그램이랑 겹칠 때 발생하는 것 같습니다.
해결하려고 별의별 방법을 다 해봤었는데.. 그냥 여러 방법들 계속 시도해보시면서 될 때까지 해보시는 것을 추천드려요
1) xampp 폴더 내의 오류 로그 삭제하는 방법
이 방법은 제 기준 성공확률 90% 입니다ㅎㅎ
참고로 이 작업은 apache와 mysql 패널을을 stop하고 수행해주세요!
(켜진채로 작업하면 나중에 심각한 오류를 야기할 수 있다고 하네요)
저는 이 사실을 모르고 무작정 켜진채로 작업했더니 엄청난 오류의 굴레에 빠지게 되었지만... 여러분들은 그러지 마세요
먼저 위와 같이 xampp 내의 mysql 경로로 들어간 뒤, data 폴더를 duplicate 해주세요
복붙한 data 폴더명은 data_old 로 이름을 설정해줍니다. (데이터 백업용)
다음에 data 폴더에 들어가서 위와 같이 mysql, performance_schema, phpmyadmin, test 4개의 폴더를 선택 후 삭제
추가로 그 아래 내리면 있는 나머지 파일들까지 선택해서 삭제해주는데, 위와 같이 ibdata1 이라는 파일만 제외하고 나머지를 삭제해줍니다.
다음엔 mysql의 backup 폴더에 들어가서 위와 같이 ibdata1 파일을 제외한 나머지 내용물을 모두 선택하여 복사한 뒤,
data 폴더에 붙여넣기하면 끝입니다.
다시 패널로 돌아와서 apache와 mysql을 켜보면 shutdown 되지 않고 문제없이 돌아가는 것을 볼 수 있습니다!
영상으로 보고 싶으신 분들을 위해..
https://youtu.be/84IOtc05TuA?si=h4xMJDXXTmfM_9xK
스택오버플로우 질문글 참고:
https://stackoverflow.com/questions/18022809/how-can-i-solve-error-mysql-shutdown-unexpectedly
2. 작업관리자에서 종료 후 재실행
1. 작업관리자에 들어갑니다. (Ctrl + Alt + Del)
2. mysql.exe를 찾아서 종료한 뒤 xampp 재실행 해보기
가장 흔하지만 놓칠 수 있는 간단한 방법인데요, 다른 분들은 이렇게 해서 바로 해결되셨다고 하는데 저는 아니었음..
3. 포트번호 변경하는 방법
다른 프로그램과 포트번호가 충돌해서 오류가 나는 걸수도 있습니다.
그런데 이는 최근에 추가로 설치한 것 없이 그대로인 본인 노트북에서 xampp를 원활하게 사용하다가 뜬금없이 shutdown 된거라면 원인이 아닐 가능성이 높긴 합니다.. 그래서 왠만하면 추천은 드리지 않아요
따라서 본인 컴퓨터에서 포트가 겹치는 경우에만! 시도해보세요
참고로 저는 1번 방법이 항상 잘 먹혔다가 이때는 1번 방법을 했는데도 shutdown은 해결이 됐는데, 위와 같이 access denied 되면서 터미널로는 진입할 수 없다는 괴상한 오류가 발생해서 포트번호까지 체크해본 케이스입니다.
먼저 포트번호를 확인하기 위한 방법입니다.
1) xampp panel 우측 상단에 netstat를 눌러서 확인 가능
C:\xampp > netstat -a -b
mysql 포트번호가 3306인 칸을 찾아주면 PID로 16484 가 대응되는 것을 확인
2) 윈도우 키 + R 눌러서 resmon.exe 쳐서도 포트번호 확인 가능
여기서도 mysqld.exe에 3306과 16484가 대응되는 란을 확인할 수 있습니다.
그럼 위와 같이 해당되는 PID로 프로세스를 종료해주고 다시 xampp에서 mysql 재실행해줍니다. (포트번호 여전히 3306)
패널에서 mysql > config 버튼 > my.ini 눌러서 [client]와 [mysqld]에 port = 3306 라고 적혀있는 코드를 3307과 같은 다른 포트번호로 겹치지 않게 수정해주면 됩니다.
그 후 우측 상단에 config 클릭하시면 configuration of control panel이 나오고, 하단에 있는 service and port settings 클릭
그러면 apache부터 tomcat까지 선택할 수 있는데 이 중 mysql 선택한 뒤 포트번호 수정 후 재실행
이는 mysql 뿐만 아니라 apache에서도 마찬가지로, 만약 vmware 같은 다른 프로그램이 동일 포트를 사용하고 있다면 오류가 발생할 수 있으므로 같은 방법으로 수정해주시면 됩니다.
6. InnoDB 관련 오류 해결 방법 - 강제 복구
이는 사실상 위의 5번 shutdown 오류 해결의 연장선이긴 한데 6번으로 따로 뺐습니다.
강제 복구하는 최후의 방법이거든요..
shutdown 오류가 났다면 우측에 Logs 버튼을 클릭하여 오류 로그를 열람할 수 있습니다.
로그를 읽어서 본인이 어떤 부분에서 오류가 발생했는지 기록을 보시고 맞는 방법을 수행하시면 됩니다.
그러나 이것저것 시도해봐도 안될 때, InnoDB 자체를 강제 복구하는 방법이 있습니다.
심각한 손상으로 인해 select * from ~ 등의 문장이나 InnoDB 백그라운드 작업이 중단되어 더 이상 진행이 되지 않을 때 InnoDB 롤 포워드 복구가 중단될 수 있습니다. 이럴때 innodb_force_recovery 옵션을 사용해서 스토리지 엔진을 강제로 시작한 뒤 테이블을 덤프하는 방법이 있습니다.
[mysqld]
innodb_force_recovery = 1
서버를 다시 시작하기 전에 옵션 파일의 [mysqld] 섹션에 위 코드를 추가하면 강제 복구가 가능합니다.
****
응급 상황에서는 innodb_force_recovery를 0보다 큰 값으로만 설정하면 InnoDB를 시작하고 테이블을 덤프 할 수 있습니다. 이를 수행하기 전에 데이터베이스를 다시 작성해야 할 경우를 대비하여 데이터베이스의 백업 사본이 있는지 확인합니다. 4이상의 값은 데이터 파일을 영구적으로 손상시킬 수 있습니다. 별도의 실제 데이터베이스 복사본에서 설정을 성공적으로 테스트한 후에는 프로덕션 서버 인스턴스에서 innodb_force_recovery 설정을 4이상만 사용하십시오.
InnoDB 복구를 강제할 때는 항상 innodb_force_recovery = 1로 시작하고 필요에 따라 값을 하나씩 늘려야합니다.
innodb_force_recovery는 기본적으로 0입니다 (강제 복구없이 정상 시작). innodb_force_recovery에 허용되는 0이 아닌 값은 1-6입니다. 값이 클수록 값이 작을 수 있습니다. 예를 들어, 값 3은 값 1과 2의 모든 기능을 포함합니다.
innodb_force_recovery 값이 3 이하인 테이블을 덤프 할 수 있으면 손상된 개별 페이지의 일부 데이터 만 손실되는 것이 상대적으로 안전합니다. 데이터 파일이 영구적으로 손상 될 수 있으므로 4 이상의 값은 위험한 것으로 간주됩니다. 데이터베이스 페이지가 사용되지 않는 상태로 남아 B- 트리 및 기타 데이터베이스 구조에 더 많은 손상이 발생할 수 있으므로 값 6은 과감한 것으로 간주됩니다.
안전 조치로 InnoDB는 innodb_force_recovery가 0보다 클 때 INSERT, UPDATE 또는 DELETE 작업을 방지합니다. innodb_force_recovery 설정이 4 이상이면 InnoDB가 읽기 전용 모드입니다.
+ 1 (SRV_FORCE_IGNORE_CORRUPT)
손상된 페이지를 감지하더라도 서버가 실행되도록 합니다. SELECT * FROM tbl_name이 손상된 인덱스 레코드 및 페이지를 건너뛰기 때문에 테이블 덤프에 도움이 됩니다.
+ 2 (SRV_FORCE_NO_BACKGROUND)
마스터 스레드 및 제거 스레드가 실행되지 않도록합니다. 제거 작업 중에 충돌이 발생하면 이 복구 값으로 인해 충돌이 방지됩니다.
+ 3 (SRV_FORCE_NO_TRX_UNDO)
응급 복구 후 트랜잭션 롤백을 실행하지 않습니다.
+ 4 (SRV_FORCE_NO_IBUF_MERGE)
삽입 버퍼 병합 조작을 방지합니다. 충돌이 발생하면 작동하지 않습니다. 테이블 통계를 계산하지 않습니다. 이 값은 데이터 파일을 영구적으로 손상시킬 수 있습니다. 이 값을 사용한 후에는 모든 보조 인덱스를 삭제하고 다시 만들 수 있도록 준비합니다. InnoDB를 읽기 전용으로 설정합니다.
+ 5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
데이터베이스를 시작할 때 실행 취소 로그를 보지 않음 : InnoDB는 불완전한 트랜잭션조차도 커밋된 것으로 간주합니다. 이 값은 데이터 파일을 영구적으로 손상시킬 수 있습니다. InnoDB를 읽기 전용으로 설정합니다.
+ 6 (SRV_FORCE_NO_LOG_REDO)
복구와 관련하여 리두 로그 롤 포워드를 수행하지 않습니다. 이 값은 데이터 파일을 영구적으로 손상시킬 수 있습니다. 데이터베이스 페이지를 사용하지 않는 상태로 두면 B-트리 및 기타 데이터베이스 구조가 더 손상 될 수 있습니다. InnoDB를 읽기 전용으로 설정합니다.
테이블에서 SELECT하여 덤프할 수 있습니다. innodb_force_recovery 값이 3이하이면 테이블을 DROP 또는 CREATE 할 수 있습니다. DROP TABLE은 innodb_force_recovery 값이 3보다 크고 MySQL 5.7.17까지 지원됩니다. MySQL 5.7.18부터는 4보다 큰 innodb_force_recovery 값으로 DROP TABLE을 사용할 수 없습니다.
주어진 테이블이 롤백시 충돌을 일으키는 것을 알고 있으면 삭제할 수 있습니다. 대량 가져 오기 또는 ALTER TABLE 실패로 인해 런 어웨이 롤백이 발생하면 mysqld 프로세스를 종료하고 innodb_force_recovery를 3으로 설정하여 롤백없이 데이터베이스를 가져온 다음 런 어웨이 롤백(runaway rollback:장시간의 롤백)을 유발하는 테이블을 DROP 할 수 있습니다.
테이블 데이터 내의 손상으로 인해 전체 테이블 내용을 덤프할 수 없는 경우 ORDER BY primary_key DESC 절을 사용하는 쿼리는 손상된 부분 다음에 테이블 부분을 덤프할 수 있습니다.
InnoDB를 시작하기 위해 높은 innodb_force_recovery 값이 필요한 경우 복잡한 쿼리 (WHERE, ORDER BY 또는 기타 절을 포함하는 쿼리)가 실패할 수 있는 데이터 구조가 손상되었을 수 있습니다. 이 경우 기본 SELECT * FROM t 쿼리만 실행할 수 있습니다.
****
이 부분의 내용은 아래 블로그로부터 가져온 것으로, 더 자세한 내용을 알고 싶으시다면 들어가서 자세히 읽어보시는 걸 추천합니다. (굉장히 상세하게 서술해주셨습니다)
출처: https://myinfrabox.tistory.com/158
[MySQL][InnoDB] 문제해결
■ InnoDB 문제 해결 다음 지침은 InnoDB 문제 해결에 적용됩니다. + 작업이 실패하거나 버그가 의심되면 MySQL 서버 오류 로그를 확인합니다. + 장애가 교착 상태와 관련된 경우, 각 교착 상태에 대한
myinfrabox.tistory.com
7. 비밀번호 없이 mysqldump 하기
이건 저 앞에 4-1번 비밀번호 설정할 때 잠깐 언급했던 오류인데, 다시 언급하자면 이것저것 만지다가 비밀번호를 분명히 설정해서 using password:Yes 라고도 나오는데 정작 터미널에서는 비밀번호를 입력하지 않아야만 진입이 되는 이상한 오류가 났었습니다.
mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES)
이러면 dump하고 싶어도 이도저도 못하고 정말 난감한데요, 아래와 같이 해결할 수 있습니다.
먼저 mysql 설정 파일을 찾아야 하는데 이는 OS마다 이름이 다릅니다.
- Mac, Linux: my.cnf
- windows: my.ini
아래 첨부한 스택오버플로우 링크에서는 우분투를 사용하셔서 my.cnf라고 하셨지만, 윈도우를 사용하신다면 my.ini 파일을 열어주시면 됩니다.
<.cnf 파일 위치>
- /etc/my.cnf
- /etc/mysql/my.cnf
- /usr/local/mysql/etc/my.cnf
- ~/.my.cnf
<.windows 사용자 파일 위치>
- C:\Windows\my.ini
- C:\Windows\my.cnf
- C:\my.ini
- C:\my.cnf
- C:\Program Files\MySQL\MySQL Server x.x\my.ini
- C:\Program Files\MySQL\MySQL Server x.x\my.cnf
중 하나의 경로에 존재합니다.
해당 my.ini 혹은 my.cnf 파일을 찾았다면 아래 코드를 파일에 추가해줍니다.
[mysqldump]
user=mysqluser
password=secret
이를 입력 후 저장하면 mysql 진입 시 비밀번호를 입력하지 않아도 진입할 수 있습니다.
mysqldump -u [user name] -p[password] [database name] > [dump file]
대안으로는 위 코드를 입력해주셔도 됩니다.
참고 사이트:
https://www.techiecorner.com/1619/how-to-setup-mysqldump-without-password-in-cronjob/
https://stackoverflow.com/questions/9293042/how-to-perform-a-mysqldump-without-a-password-prompt
8. xampp에서 mysql 데이터베이스 export 하는 방법
먼저 프롬프트 창을 여시고 아래 코드를 상황에 맞게 입력해주세요.
Import Database :- D:/xampp/mysql/bin/mysql – u root -p databasename < D:/test.sql (sql file name)
Export Database :- D:/xampp/mysql/bin/mysqldump -u root -p databasename > D:/text.sql(sql file name)
혹은
backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
위와 같이 프롬프트 창에 명령어를 입력해주시거나, phpmyadmin에 들어가서 수행하는 방법도 있다고 합니다.
출처: https://stackoverflow.com/questions/14923150/exporting-mysql-database-from-xampp
🔥최후의 방법: 눈물을 머금고 재설치
폭풍 구글링을 하셨는데도 해결하지 못하셨다면,, 데이터 백업하고 눈물을 머금고 재설치하는 방법뿐입니다...
죽어도 재설치하기 싫어서 몇 달동안 구글링하던건데, 그냥 재설치하니까 행복하네요 헷
많은 분들께 도움이 되었으면 좋겠습니다.
모두 즐거운 xampp 하세요! :)

'WEB' 카테고리의 다른 글
[WEB] 최신 크롬 드라이버 (115 버전 이상) 설치하는 방법 (1) | 2024.08.02 |
---|