====== MySQL ====== 데이터베이터 구축을 위한 프로그램 ====== 설치 ====== $ sudo apt-get install mysql-server tasksel을 이용하여 lamp를 설치하여도 된다. ===== 설정 ===== MySQL 설정파일 : /etc/mysql/my.cnf MySQL 콘솔을 실행하려면 아래 명령을 이용한다. $ mysql root 권한으로 실행하려면 아래와 같이 실행한다. $ mysql -u root -p ===== 데이터베이스 생성 ===== 다음 명령은 mysql 접속 후 test라는 데이터베이스를 생성한다. $ mysql -uroot -p // 이후 비밀번호 입력 mysql> create database test; mysql에 접속하지 않고 커맨드라인에서 바로 데이터베이스를 생성할 수도 있다. $ mysql -uroot -p -Bse 'create database test' ===== SQL file import ===== 다음 명령은 test-20141027.sql 파일을 test 데이터베이스로 import 한다. $ mysql -uroot -p -h localhost test < test-20141027.sql test라는 데이터베이스가 없으면 에러가 나므로 주의한다. ''-h localhost''는 로컬의 MySQL에 접속한다는 의미로 생략하여도 된다. 만약 외부의 MySQL 서버에서 import하려면 localhost 대신 해당 서버의 도메인 네임 또는 ip를 입력한다. ===== phpMyAdmin 설치 ===== 웹페이지에서 MySQL을 관리하기 위한 프로그램이다. 설치는 아래와 같이 한다. $ sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin * 설치 중간 웹서버는 apache2 선택 * 데이터베이스를 dbconfig-common으로 설정할지 묻는 화면에서 예 선택 * 웹브라우저에서 주소창에 localhost/phpmyadmin 입력하여 확인 ===== MySQL 외부 접속 ===== MySQL은 기본적으로 외부 접속을 허용하지 않는다. 외부 접속이 가능하기 위해서는 아래와 같이 설정 파일을 수정해야 한다. $ sudo vim /etc/mysql/my.cnf 아래의 bind-address 부분을 주석처리 한다. # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 설정을 반영하기 위해 mysql 서버를 재시작한다. $ sudo /etc/init.d/mysql restart ===== 문제 해결 ===== ==== InnoDB: Unable to lock ./ibdata1, error: 11 ==== MySQL을 시작하려 했더니 시작이 안되고 /var/log/mysql 폴더의 로그를 확인하니 위 메시지가 나타난 경우 다음 작업 수행. 다음 명령으로 mysql 프로세스 번호 확인 (예: 2704) $ lsof -i TCP:3306 위에서 알아낸 pid 번호로 /var/lib/mysql/{honemame}.pid 파일을 생성 $ echo 2704 > /var/lib/mysql/myhost.pid owner 를 mysql 계정으로 변경 $ chown mysql:mysql /var/lib/mysql/myhost.pid 그 후 mysql 서비스를 재시작하여 본다. 그래도 시작되지 않으면 다음 명령으로 모든 mysql 데몬을 중지 후 재시작해본다. $ killall mysqld 다음 명령으로 프로세스를 중지할 수도 있다. $ kill -9 ===== 참고 ===== * [[http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused|Open Failed: Connect Failed: Connection Refused]] * [[http://lesstif.com/pages/viewpage.action?pageId=12943414|InnoDB: Unable to lock ./ibdata1, error: 11]]