민서네집

Windows Command 창에서 mysql 실행시키기 본문

Database/MySQL

Windows Command 창에서 mysql 실행시키기

브라이언7 2014. 8. 20. 21:47

2.10.4.5 Starting MySQL from the Windows Command Line


http://dev.mysql.com/doc/refman/5.0/en/windows-start-command-line.html


MySQL zip 파일을 받고, 설치하지 않고, 압축만 풀고, 명령줄에서도 실행시킬 수 있다.


mysql-5.6.20-winx64\bin 디렉터리에서


mysqld --console 를 실행한다.


3306포트가 이미 사용되고 있으면 그냥 종료된다.


이렇게 명령행에서 실행시켜도 MySQL Workbench를 실행시키면 지금 돌고 있는 mysqld 서버와 연결된다.




D:\WebService(20140818)\mysql-5.6.20-winx64 디렉터리에서


mysqld.bat 파일을 만들고,


bin\mysqld --defaults-file=my.ini --console --explicit_defaults_for_timestamp


라고 써 넣는다.


프로세스 관리자에서 mysqld.exe 파일이 먼저 돌고 있으면 에러가 나면서 시작되지 않는다.


떠 있는 mysqld.exe 프로세스를 죽이고, 다시 실행시키면 된다.


--defaults-file 옵션이 맨 처음에 오지 않으면 에러가 나면서 옵션을 인식하지 못한다는 에러가 난다.


--defaults-file=my.ini 라는 의미는 현재 디렉터리의 my.ini 파일을 MySQL의 환경설정 파일로 이용하겠다는 의미이다.


mysql.exe 실행


명령 프롬프트 창에서 mysql -u root 로 패스워드 없이 접속.


mysql> select current_user();

+----------------+

| current_user() |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)





사용자 생성 및 권한부여

grant all privileges on kostadb.* to kosta_user@'localhost' identified by 'kosta';

grant all privileges on kostadb.* to kosta_user@'%' identified by 'kosta';

=> '%'는 모든 IP에 대하여 허용함을 의미함


localhost 접근 권한을 따로 설정하지 않고, "%"만 설정하면 localhost 에서 접근할 때도 Local 컴퓨터의 ip를 통해서 들어가야지만 접근할 수 있다.


-> mysql -u kosta_user -p

- Enter password: ***** (kosta)

=> localhost 접근 권한 없음.

-> mysql -h IP -u kosta_user -p

-> 정상 로그인 됨


서비스 등록: mysqld --install

-단, 아래와 같이 에러가 발생하면 권한이 없는 것이므로 Admin 권한으로 실행

  • 서비스 시작: 내컴퓨터 -> 오른쪽 팝업메뉴 -> 관리 -> 서비스 및 응용프로그램 -> 서비스

-MySQL 서비스를 찾은 후 더블클릭하여 시작유형을 "수동"으로 선택하고 [시작(S)] 버튼 선택

-MySQL 서비스 실행상태 확인


( 서비스로 등록하지 않고, 탐색기나 명령 프롬프트에서 위에서 만든 배치 파일을 통해 실행시켜도 된다. )


ROOT 암호 설정

-mysql> use mysql;

-mysql> update user set

--> password = password('xxxxx')

--> where user = 'root';

  • 데이터베이스 목록 확인: show databases;
  • 신규 데이터베이스 생성: create database kostadb;
  • 데이터베이스 사용: use mysql;
  • 데이터베이스 테이블 보기: show tables;


한글 깨짐 오류 대처방안 (1/2)


원인: MySQL 서버의 기본 인코드가 [latin]이므로 인코드를 변경해줘야 한글이 정상 처리됨.

확인:

-> mysql -u root mysql> show variables like 'c%';



조치방법

-1) $MYSQL_HOME/my-default.ini를 my.ini 파일로 복사

-2) 아래 인코드 내용을 복사된 my.ini 파일 끝에 입력 후 저장

-3) MySQL 서비스 재시작


[client] 

default-character-set=utf8 


[mysqld] 

character-set-server=utf8 

collation-server=utf8_general_ci 

init_connect=SET collation_connection=utf8_general_ci 

init_connect=SET NAMES utf8 


[mysql] 

default-character-set=utf8


이미 DB와 Table을 create 하였다면 Alter 로 encoding을 바꿔줘야 하므로, 생성 Script가 있고, 중요한 데이터가 아니라면 Drop 하고, DB와 Table을 다시 만드는게 더 간단할 수도 있다.

[참조] KOSTA 웹서비스 강의 pdf 1일차


Comments