2.3.6 Microsoft Windows MySQL Server 설치 문제 해결
MySQL을 설치해서 최초로 기동할 때, 에러가 발생하고 MySQL서버가 기동할 수 없는 경우가 있습니다.이 섹션은, 오류 진단과 수정에 도움이 됩니다.
서버의 문제의 트러블 슈팅을 할 때의 최초의 자원은 오류 로그입니다. MySQL Server는 서버가 시작되지 않은 원인이 되는 에러에 대한 정보를 기록하는 데 오류 로그를 사용하고 있습니다.오류 로그는my.ini
파일에서 지정된 데이터 디렉토리에 있습니다.데이터 디렉토리의 디폴트의 장소는 Windows 7및 Windows Server 2008에서는 C:\Program Files\MySQL\MySQL Server 5.6\data
또는 C:\ProgramData\Mysql
입니다.C:\ProgramData
디렉토리는 기본적으로 보입니다.디렉토리와 내용을 표시하려면 폴더 옵션을 변경할 필요가 있습니다.오류 로그와 그 내용의 이해에 대해서는섹션 5.2.2"오류 로그"를 참조하십시오.
일어날 수 있는 에러에 대해서는 MySQL서비스의 기동 중에 표시되는 콘솔 메시지도 살펴보세요.mysqld를 서비스로 설치한 후에, 명령 줄에서 NET START MySQL명령을 사용하여, MySQL Server의 서비스로 구동에 관한 에러 메시지를 표시합니다.섹션 2.3.5.7"Windows서비스로서 MySQL실행하는 "을 참조하세요.
MySQL을 설치하고 서버를 처음으로 실행할 때 잘 생긴다, 기타 일반적인 에러 메시지를 다음의 예로 나타냅니다.
- MySQL Server가
mysql
권한 데이터베이스 또는 기타 중요한 파일을 찾지 못하는 경우 다음 메시지를 표시합니다.System error 1067 has occurred. Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
이 메시지는 MySQL의 베이스 디렉토리 또는 데이터 디렉토리가 디폴트의 장소(각각 C:\Program Files\MySQL\MySQL Server 5.6
및 C:\Program Files\MySQL\MySQL Server 5.6\data
)과 다른 장소에 설치되어 있는 경우에 잘 생깁니다.
이 상황은 MySQL을 업그레이드하고 새로운 장소에 설치했지만 구성 파일이 새로운 장소를 반영하도록 갱신되지 않은 경우에 생깁니다.이어 신구의 구성 파일이 맞서고 있는 경우도 있습니다. MySQL을 업그레이드할 때는 반드시 옛 구성 파일을 삭제하거나 이름을 변경하세요.
MySQL을 C:\Program Files\MySQL\MySQL Server 5.6
이외의 디렉토리에 설치한 경우는 구성(my.ini
파일을 사용하고 MySQL Server가 그 사실을 인식하도록 하세요.my.ini
파일을 Windows디렉토리(통상 C:\WINDOWS
)에 둡니다.WINDIR
환경 변수의 값으로부터 정확한 장소를 찾아내려면 명령 프롬프트에서 다음 명령을 발행합니다.
C:\> echo%WINDIR%
옵션 파일은 노트 패드 등의 텍스트 에디터에서 작성 및 변경할 수 있습니다.가령 MySQL이 E:\mysql
에 설치되어 있고, 데이터 디렉토리가 D:\MySQLdata
에 있는 경우는, 옵션 파일을 만들어 [mysqld]
섹션을 설정하고basedir
및 datadir
옵션의 값을 지정할 수 있습니다.
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=D:/MySQLdata
Microsoft Windows의 패스 이름은 옵션 파일 내에서 백 슬래시가 아니다(포워드)슬래시를 사용하여 지정됩니다.백 슬래시를 사용하는 경우는 2개 사용합니다.
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 5.6 # set datadir to the location of your data directory datadir=D:\\MySQLdata옵션 파일 값에서 역 슬래시의 사용에 관한 룰은섹션 4.2.6"옵션 파일의 사용"에 있습니다.
MySQL구성 파일의 datadir
값을 변경하는 경우는 MySQL Server를 재부팅하기 전에 기존의 MySQL데이터 디렉토리의 내용을 이동할 필요가 있습니다.
섹션 2.3.5.2"옵션 파일의 작성"을 참조하세요.
- 우선 기존 MySQL서비스를 중지하고 삭제하고 MySQL Installer를 사용하여 MySQL을 설치하지 않고 MySQL을 다시 설치 또는 업그레이드하면 다음의 에러가 생기는 경우가 있습니다.
Error:Cannot create Windows service for MySql.Error:0
이는 Configuration Wizard가 서비스를 설치하려던 때 기존의 서비스가 같은 이름으로 존재하는 경우 발생합니다.
이 문제의 해결 방법의 1개는 Configuration Wizard를 사용할 때
mysql
이외의 서비스 이름을 선택하는 것입니다.이로써 새로운 서비스가 올바르고 인스톨 되고 낡은 서비스는 그대로 수 있습니다.이는 특히 문제 없지만 사용하지 않는 낡은 서비스는 삭제하는 게 좋을 것입니다.낡은
mysql
서비스를 완전히 삭제하려면 관리자 권한을 갖는 유저로서 명령 행에서 다음 명령을 실행합니다.C:\>
sc delete mysql
[SC] DeleteService SUCCESS사용하고 있는 Windows의 버전
sc
유틸리티를 이용할 수 없는 경우는delsrv
유틸리티를 http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp에서 다운로드하고,delsrv mysql
구문을 사용합니다.