블로그 이미지
Email : admin(앳)sosnote.com
재능을키워라
sol
DNS server, DNS service
Statistics Graph

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

mysql DB 지정 백업 스크립트

2015.06.12 14:33 | Posted by 재능을키워라

# vi mysqldump.sh


#!/bin/bash


echo

echo -n  "User DB : "

read data


mysqldump -p'PW' $data > $data.sql                 // PW에 mysql root패스워드 입력 요망

echo "END"

configure 후  make&make install 시 오류 발생

 

mysql.cc: In function 'void print_table_data(MYSQL_RES*)':

mysql.cc:1650: error: expected primary-expression before '?' token

mysql.cc:1650: error: expected ':' before ')' token

mysql.cc:1650: error: expected primary-expression before ')' token

mysql.cc:1652: error: expected primary-expression before '?' token

mysql.cc:1652: error: expected ':' before ')' token

mysql.cc:1652: error: expected primary-expression before ')' token

mysql.cc:1666: error: expected primary-expression before '?' token

mysql.cc:1666: error: expected ':' before ')' token

mysql.cc:1666: error: expected primary-expression before ')' token

make[1]: *** [mysql.o] Error 1

make[1]: Leaving directory `/usr/local/src/APM_Setup/mysql-4.0.27/client'

make: *** [install-recursive] Error 1

 

이런식으로 뜨면 gcc버전 문제로 설치가 안 된다고 함.

 보통의 경우 gcc 및 g++ 버전이 높아 설치시 에러가 뜨는 것인데

 대처 방법은 우선 호환성 라이브러리 패키지를 설치해주고


[해결방법]

# yum install compat-*

 

gcc와 g++의 이름변경으로 백업후 gcc34, g++34 심볼릭 링크로 gcc,gcc++를 생성해주면된다

# cd /usr/bin

# mv gcc gcc-backup

# mv g++ g++-backup

# ln -s gcc34 gcc

# ln -s g++34 g++

 

설치 후에는 make & make install로 설치 진행

정상 make 확인

gcc -O3 -DDBUG_OFF -rdynamic -o .libs/mysqlmanager mysqlmanager.o  ../libmysql_r/.libs/libmysqlclient_r.so -lpthread -lpthread -lpthread -lpthread -lpthread -lz -lcrypt -lnsl -lm -lpthread

creating mysqlmanager

make[2]: Leaving directory `/usr/local/src/APM_Setup/mysql-4.0.27/tools'

make[1]: Leaving directory `/usr/local/src/APM_Setup/mysql-4.0.27'


참고: http://dlatjgns.blog.me/130188463443

mysql 4.x 설치시 configure 에러 발생

2015.06.11 16:39 | Posted by 재능을키워라

mysql-4.0.27 설치 진행 중 configure 에러 발생


config값

./configure \

--prefix=/usr/local/mysql \

--localstatedir=/usr/local/mysql/data \

--with-mysqld-user=mysql \

--with-extra-charsets=all \

--enable-thread-safe-client \

--with-pthread \

--with-named-thread-lib=-lpthread \

--with-charset=euc_kr


[에러 출력]

configure: error: This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used.  Please install Linuxthreads (or a new glibc) and try again.  See the Installation chapter in the Reference Manual for more information.


[해결방법]

echo '/* Linuxthreads */' >> /usr/include/pthread.h 


이후 정상 configure 확인

mysql Engine 변경

2015.03.24 14:23 | Posted by 재능을키워라

mysql 엔진 innoDB -> myiSam 변경


엔진 확인

mysql> show engines\G;


기존값

*************************** 2. row ***************************

      Engine: InnoDB

     Support: DEFAULT

     Comment: Supports transactions, row-level locking, and foreign keys

Transactions: YES

          XA: YES

  Savepoints: YES

*************************** 5. row ***************************

      Engine: MyISAM

     Support: YES

     Comment: MyISAM storage engine

Transactions: NO

          XA: NO

  Savepoints: NO



설정값 추가

# vi /etc/my.cnf

default-storage-engine = myisam



변경후 값

*************************** 2. row ***************************

      Engine: InnoDB

     Support: YES

     Comment: Supports transactions, row-level locking, and foreign keys

Transactions: YES

          XA: YES

  Savepoints: YES


*************************** 5. row ***************************

      Engine: MyISAM

     Support: DEFAULT

     Comment: MyISAM storage engine

Transactions: NO

          XA: NO

  Savepoints: NO

'A.P.M > Mysql' 카테고리의 다른 글

mysql make시에 에러 발생 error: expected primary-expression before '?' token  (2) 2015.06.11
mysql 4.x 설치시 configure 에러 발생  (0) 2015.06.11
mysql Engine 변경  (0) 2015.03.24
mysql db 생성  (0) 2014.12.24
mysql 패스워드 변경  (0) 2014.10.17
mysql 설정 값 확인  (0) 2013.12.09

mysql db 생성

2014.12.24 15:07 | Posted by 재능을키워라

mysql 디비 생성 

sos 계정에게 sos_db라는 데이터베이스의 권한 부여 (디비 생성까지 포함)

pass는 패스워드 기입


mysql> create database sos_db;

mysql> grant all privileges on sos_db.* to sos@localhost identified by 'pass';      ##자기자신만 접근 허용

mysql> grant all privileges on sos_db.* to sos@'%' identified by 'pass';                  ##외부 전부 접근 허용 

mysql> flush privileges;

mysql> exit

'A.P.M > Mysql' 카테고리의 다른 글

mysql 4.x 설치시 configure 에러 발생  (0) 2015.06.11
mysql Engine 변경  (0) 2015.03.24
mysql db 생성  (0) 2014.12.24
mysql 패스워드 변경  (0) 2014.10.17
mysql 설정 값 확인  (0) 2013.12.09
mysql 백업  (0) 2013.11.25

mysql 패스워드 변경

2014.10.17 12:00 | Posted by 재능을키워라

mysql 구동중지

# /etc/init.d/mysqld stop

또는

# killall mysqld


mysql 안전모드 구동

# mysqld --skip-grant-tables &


mysql 로그인 (mysql Database로 접속)

# mysql -u root mysql


mysql> update user set password=PASSWORD('바뀔 패스워드') where user='계정명';

Query OK, 1 row affected (0.00 sec)

Rows matched: 2  Changed: 1  Warnings: 0


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


mysql재구동

# /etc/init.d/mysqld stop

# /etc/init.d/mysqld start

또는

# killall mysqld

# /etc/init.d/mysqld start

'A.P.M > Mysql' 카테고리의 다른 글

mysql Engine 변경  (0) 2015.03.24
mysql db 생성  (0) 2014.12.24
mysql 패스워드 변경  (0) 2014.10.17
mysql 설정 값 확인  (0) 2013.12.09
mysql 백업  (0) 2013.11.25
mysql 5.1 -> 5.5 업그레이드 후 에러  (0) 2013.11.21

mysql 설정 값 확인

2013.12.09 15:06 | Posted by 재능을키워라

설정값 확인

mysqladmin -u root -p variables

현재 살아있거나 timewait 되어있는 프로세스 리스트 확인

mysqladmin -u root -p processlist

맥스콘넥션값 확인

mysql> show variables like "%max_connection%";

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

| Variable_name   | Value |

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

| max_connections | 100   |

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

1 row in set (0.01 sec)

설정변경

첫번째, mysql 재시작하고 영구적으로 적용하기

vi /etc/my.cnf

[mysqld]

max_connections = 2048

두번째, mysql 재시작 필요없이 적용하기, restart 하면 값 날라감

mysql> show variables like "%max_connection%";

값확인후 적용

mysql> set global max_connections=1000;


'A.P.M > Mysql' 카테고리의 다른 글

mysql db 생성  (0) 2014.12.24
mysql 패스워드 변경  (0) 2014.10.17
mysql 설정 값 확인  (0) 2013.12.09
mysql 백업  (0) 2013.11.25
mysql 5.1 -> 5.5 업그레이드 후 에러  (0) 2013.11.21
mysql 테이블 만들어보기  (1) 2013.11.20

mysql 백업

2013.11.25 14:18 | Posted by 재능을키워라

mysql 디비 백업

all 백업하는 명령

  # mysqldump -u root -p --all-databases > all_databases.sql

  # mysqldump -u root -p -A > all_backup.sql

[출처] MySQL 전체 백업|작성자 Developer


'A.P.M > Mysql' 카테고리의 다른 글

mysql 패스워드 변경  (0) 2014.10.17
mysql 설정 값 확인  (0) 2013.12.09
mysql 백업  (0) 2013.11.25
mysql 5.1 -> 5.5 업그레이드 후 에러  (0) 2013.11.21
mysql 테이블 만들어보기  (1) 2013.11.20
mysql 세그멘테이션 오류 ( 5.6 버전)  (0) 2013.11.13

mysql 5.1 -> 5.5 업그레이드 후 에러

2013.11.21 10:01 | Posted by 재능을키워라

Mysql 5.1 버전에서 5.5버전으로 업그레이드를 진행한 이후에

httpd: Syntax error on line 107 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

해당 에러문구 확인하였습니다.

결론적으로 문제점은 5.1점대에서는 
/usr/local/mysql/lib/mysql
위의 디렉토리의 so파일을 참조하는데
mysql 5.5버전에서는 해당디렉토리가 존재하지않았고
/usr/local/mysql/lib 에 so파일들이 몰려있었습니다.

그리하여 mysql 디렉토리를 생성하였고,
부가적인 복사, 이름변경 작업을 진행하였습니다.

해결방법
제일먼저 /usr/local/mysql/lib 에있는 libmysqlclient.so  <<원본파일을 
libmysqlclient_r.so.16  로 ln -s 심볼릭 링크 걸어주었습니다.
# ln -s libmysqlclient.so libmysqlclient_r.so.16

# pwd      << 해당경로에서 작업진행
/usr/local/mysql/lib

# cp -arp libmysqlclient_r.so.16 libmysqlclient.so mysql/       << 아까만든16파일을 복사

`libmysqlclient_r.so.16' -> `mysql/libmysqlclient_r.so.16'

`libmysqlclient.so' -> `mysql/libmysqlclient.so'


# cp -arp libmysqlclient.so.18.0.0 mysql/           << 원본파일을 복사

`libmysqlclient.so.18.0.0' -> `mysql/libmysqlclient.so.18.0.0'


# mv libmysqlclient.so.18.0.0 libmysqlclient.so         <<원본파일 이름변경

mv: overwrite `libmysqlclient.so', overriding mode 0777? y

`libmysqlclient.so.18.0.0' -> `libmysqlclient.so'


*참고

 해당작업을 하거나..

php 재컴파일하셔서 진행을 해주시면,

현재 설치되어있는 mysql 경로대로 모듈생성되기때문에 정상작동될 것으로 보입니다.

mysql 테이블 만들어보기

2013.11.20 12:38 | Posted by 재능을키워라

mysql 5.6.10 설치 후

기본동작 확인

mysql> use test;            << 디비사용

Database changed

mysql> create table mc(              << 테이블생성    

    -> sno int not null,

    -> name char(10),

    -> det char(10),

    -> addr char(10),

    -> tel char(10),

    -> primary key(sno)

    -> );

Query OK, 0 rows affected (0.47 sec)

mysql> desc mc;                 << 만들어진 테이블 속성 보기

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

| Field | Type     | Null | Key | Default | Extra |

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

| sno   | int(11)  | NO   | PRI | NULL    |       |

| name  | char(10) | YES  |     | NULL    |       |

| det   | char(10) | YES  |     | NULL    |       |

| addr  | char(10) | YES  |     | NULL    |       |

| tel   | char(10) | YES  |     | NULL    |       |

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

5 rows in set (0.00 sec)


mysql> insert into mc values ('111', 'bbb', 'ccc', 'ddd', 'eee' );      << 테이블에 데이터 입력

Query OK, 1 row affected (0.05 sec)


mysql> select * from mc;                   << 입력된 데이터 확인

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

| sno | name | det  | addr | tel  |

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

| 111 | bbb  | ccc  | ddd  | eee  |

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

1 row in set (0.00 sec)

mysql 세그멘테이션 오류 ( 5.6 버전)

2013.11.13 12:56 | Posted by 재능을키워라

mysql-5.6.10 버전 설치 이후에

아래와 같이 명령어를 입력하면 세그멘테이션 오류가 발생하였다..

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| test               |

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

4 rows in set (0.00 sec)

mysql> use test;

세그멘테이션 오류


해결방법

# cat /etc/sysconfig/i18n

#LANG="ko_KR.eucKR"
LANG="en_US.UTF-8"
기존내용을 주석처리하고 UTF-8로 언어셋 변경하니 
세그멘테이션 오류가 발생하지않았다..

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

 mysql data 디렉토리안에있는 err log 확인

130923 9:16:15 [Note] /usr/local/mysql/libexec/mysqld: Normal shutdown

130923 9:16:17 [Warning] /usr/local/mysql/libexec/mysqld: Forcing close of thread 423 user: ''


해당문제 해결방안 및 답변


application 서버와 MySQL서버가 분리되어 있는구조인가요? 
분리되어있는 구조이고, MySQL속도가 느려진다면 reverse lookup으로 인한 장애가 의심됩니다. 

my.cnf 파일을 열어서 아래와 같이 mysqld 섹션에 skip-name-resolve 를 지정한후 MySQL 데몬을 restart해보길 바랍니다. 
[mysqld] 
skip-name-resolve 


MySQL 데몬 리스타트후에 아래와 같이 조회되는지 확인하세요. 
mysql> SHOW VARIABLES LIKE 'skip_name_resolve'; 
+-------------------+-------+ 
| Variable_name      | Value | 
+-------------------+-------+ 
| skip_name_resolve | ON    | 
+-------------------+-------+

엄밀히 말하자면 MySQL측 문제가 아닙니다. 

skip-name-resolve는 외부 클라이언트가 MySQL서버로 connect시에 dns lookup 즉 ip역질의를 
skip합니다. 

local에서 MySQL서버로 connect시에는 아무런 문제가 없지만. 외부에서 ip로 접속하는 환경의 
DNS서버가 느려지거나 공격을 당하면 MySQL 서버도 영향을 받습니다.


참조 : http://www.mysqlkorea.co.kr/gnuboard4/bbs/board.php?bo_table=community_03&wr_id=2705

mysql 권한 보기

2013.08.13 11:20 | Posted by 재능을키워라

mysql> use mysql;

mysql> select * from db ;

DB사용 권한을 보는 페이지

서버이전 후 사이트 느림 현상

2013.07.31 16:06 | Posted by 재능을키워라

서버 이전후에 사이트 구동이 느리시다고 하시는 문의가 있었는데

실제로 많이 느린상황이었다.

일단 해결방법으로는

# vi /etc/my.cnf

skip-name-resolv  <<추가

를 진행하였더니 정상적인 속도로 돌아왔다.


이유는 확실하지는 않지만 IDC센터가 옴겨지고

네임서버에서 ip가 변경이 되어서 위의 설정해주어서 정상적인 

반응을 보였던 것으로 보인다.


'A.P.M > Mysql' 카테고리의 다른 글

mysql 데몬 자동으로 죽는 현상 발생 (skip-name-resolve)  (0) 2013.09.23
mysql 권한 보기  (0) 2013.08.13
서버이전 후 사이트 느림 현상  (0) 2013.07.31
mysql 언어셋 확인  (0) 2013.06.19
innodb myisam 디비구분  (0) 2013.06.13
mysql replication  (0) 2013.06.10

mysql 언어셋 확인

2013.06.19 10:18 | Posted by 재능을키워라

mysql 설치파일 디렉토리를 찾는다.


vi config.log

최상단의

  $ ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --localstatedir=/usr/local/mysql/data --with-charset=utf8 --with-mysql-user=mysql --with-extra-charsets=all --with-plugins=max

값 확인가능

초기 configure 값은 UTF-8이지만
중간에 my.cnf파일을 수정하여 바꿀수도있기때문에
 
vi /etc/my.cnf 파일 확인한다.

마지막으로 mysql 접속하여 확인하는 방법

 mysql -p

mysql> \s

Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8

확인가능


'A.P.M > Mysql' 카테고리의 다른 글

mysql 권한 보기  (0) 2013.08.13
서버이전 후 사이트 느림 현상  (0) 2013.07.31
mysql 언어셋 확인  (0) 2013.06.19
innodb myisam 디비구분  (0) 2013.06.13
mysql replication  (0) 2013.06.10
메타데이터 락 현상  (0) 2013.04.12

innodb myisam 디비구분

2013.06.13 11:36 | Posted by 재능을키워라

이노디비와 마이아이삼 구분


이노비디

 ENGINE=InnoDB 

이노디비는 데이다티렉토리 교체작업이 되지않는다.

dbdata1

db_logfile0

db_logfile1 

위와 같은 곳에 데이타가 쌓이기 때문에 해당 data디렉토리만 옴긴다고해서 최신화가 되지않음

그래서 덤프를 떠서 적용을 시켜주어야만 함

참고 :  만일 따로따로 옴기는것이 아니고 data디렉토리 통째로옴긴다면 이노디비도 교체작업이 가능하다



마이아이삼

TYPE=MyISAM;

마이아이삼은 그냥 데이타디렉토리 변경이 가능함


확인방법 

구분하려면 덤프를 떠서 엔진에 무엇이 되어있는지를 확인해본다.


*참고 mysql 접속하여서 확인

use mysql;

show table status;

각 테이블의 Engine 값 출력

'A.P.M > Mysql' 카테고리의 다른 글

서버이전 후 사이트 느림 현상  (0) 2013.07.31
mysql 언어셋 확인  (0) 2013.06.19
innodb myisam 디비구분  (0) 2013.06.13
mysql replication  (0) 2013.06.10
메타데이터 락 현상  (0) 2013.04.12
mysql 원격 포트 변경  (0) 2013.04.01

mysql replication

2013.06.10 12:22 | Posted by 재능을키워라

MySQL Replicaton 은 DB 서버를 여러대 두고 웹서버로 부터의 접속(쿼리, select)을 분산 시켜

DB서버의 부하를 줄이는 방법입니다.

slave 서버에서 master 서버의 바이너리 로그파일을 참조하여 업데이트 하므로,

slave 서버에 로그인하여 DB를 update 하면 동기화가 되지 않으니

slave 서버는 select 용도로만 사용을 해야 합니다.

 

본 메뉴얼 작성시 테스트 버전은 MySQL 5.1.34 입니다.

두대의 MySQL 버전이 다를 경우, slave 서버의 버전이 더 높아야 합니다.

(버전에 따라 점차 기능이 많아 지므로..)

 

최대한 간단히 작성하려 하였습니다.

순서대로 따라만 하시면 누구나 손쉽게 구축이 가능합니다. ^^

 

 

1. master 서버 설정

mysql 설정 파일을 열어 아래 두개 항목이 사용중인지 확인합니다.

 

vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id   = 1           <- 서버 고유 번호이므로 slave 서버와 같으면 안됩니다.

 

저장 후, mysql 을 재시작 해줍니다.

/etc/init.d/mysqld restart

 

mysql 에 로그인하여 slave 서버에서 접속할 사용자 생성을 합니다.

 

mysql -p

(mysql root 패스워드 입력)

mysql> use mysql;

mysql> grant replication slave on *.* to 'repluser'@'192.168.0.10' identified by 'neulwonpassword';

 

※ repluser : mysql 접속 계정

    192.168.0.10 : slave 서버 IP 입니다. 여기서는 지정한 IP 에서만 접속되게 설정하였습니다.

    neulwonpassword : 접속계정의 패스워드 입니다.

 

 

2. slave 서버 설정

mysql 설정 파일을 열어 아래 두개 항목이 사용중인지 확인합니다.

 

vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id   = 2           <- 서버 고유 번호이므로 master 서버와 같으면 안됩니다.

 

저장 후, mysql 을 재시작 해줍니다.

/etc/init.d/mysqld restart

 

 

3. 동기화 작업 

1차적으로 master 서버의 MySQL data 폴더를 master 서버로 복사 해옵니다.

dump 로 가져오셔도 되고, rsync 로 복사해오셔도 됩니다. (rsync는 MySQL 버전이 같을때만 사용합니다.)

방법은 본 메뉴얼에서 생략합니다. (메뉴얼 필요시 링크 참조)

 

dump 방법 : http://system.neulwon.com/xe/243

rsync 방법 : http://system.neulwon.com/xe/170

 

data 복사가 되었으면, master 서버의 mysql 에 로그인 하여 로그 파일 상태를 확인합니다.

 

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000010 |      813 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

 

이제 slave 서버의 mysql 에 로그인 하여 지정한 로그부터 연동이 되게 설정합니다.

 

mysql> change master to master_host='192.168.0.9', master_user='repluser', master_port=3306,master_password='neulwonpassword', master_log_file='mysql-bin.000010', master_log_pos=813;

 

※ 192.168.0.9 : master 서버 IP 입니다.

    mysql-bin.000010 : master 서버에서 확인한 바이너리 로그파일명 입니다.

    813 : master 서버에서 확인한 바이너리 파일의 최종 쿼리 위치 입니다.

             여기서부터 master 서버에 쿼리 발생시 slave 서버도 같이 동작합니다.

 

 

4. 테스트

master 서버에서 테이블을 한개 생성합니다.

 

mysql> use test;

mysql> create table neulwon ( no int(8), primary key (no) );

mysql> show tables;

 

slave 서버에서도 같은 database (test) 에 neulwon 이라는 table 이 생성된것을 확인할 수 있습니다.

slave 서버에서 확인해봅니다. 

 

mysql> show tables;

 

같은 형식으로 여러대(1:N)의 replication 을 구성할 수 있으며, (주의 : my.cnf 파일의 server-id 만 각각 다르게 설정)

MySQL 구동 순서는 master 서버, slave 서버 순입니다.

 

 

※ 참고

위와같이 설정 완료 후에도 replication 이 동작하지 않는다면 slave 서버에서 아래와 같이 재설정을 해봅니다.

mysql> slave stop;
mysql> reset slave;

mysql> change master to master_host='192.168.0.9', master_user='repluser', master_port=3306,master_password='neulwonpassword', master_log_file='mysql-bin.000010', master_log_pos=1050;    // 새로운 log 번호
mysql> slave start;

 

 

[작성] 차동훈 (http://system.neulwon.com)

'A.P.M > Mysql' 카테고리의 다른 글

mysql 언어셋 확인  (0) 2013.06.19
innodb myisam 디비구분  (0) 2013.06.13
mysql replication  (0) 2013.06.10
메타데이터 락 현상  (0) 2013.04.12
mysql 원격 포트 변경  (0) 2013.04.01
mysql data디렉토리 변경하기  (0) 2013.03.23

메타데이터 락 현상

2013.04.12 09:47 | Posted by 재능을키워라

Metadata Locking


mysql metadate locking
MySQL은 5.5.3 이전에, 트랜잭션이 문에서 사용되는 테이블에 대한 메타 데이터 잠금 상당을 취득하면, 명령문의 끝에서 잠금을 해제. 이 방법은 DDL 문이 활성 트랜잭션에 다른 세션에 의해 사용되는 한 테이블에 대해 발생한 경우, 문이 잘못된 순서로 바이너리 로그에 기록 될 수있는 단점이 있었다.


'A.P.M > Mysql' 카테고리의 다른 글

innodb myisam 디비구분  (0) 2013.06.13
mysql replication  (0) 2013.06.10
메타데이터 락 현상  (0) 2013.04.12
mysql 원격 포트 변경  (0) 2013.04.01
mysql data디렉토리 변경하기  (0) 2013.03.23
사례) mysql 4.0 -> 5.1 로 변환  (0) 2013.03.23

mysql 원격 포트 변경

2013.04.01 16:28 | Posted by 재능을키워라

1. cnf에서 포트 변경

# vi /etc/my.cnf

[client]
[mysqld]
port        = 3306

2. mysql 재시작
# /etc/init.d/mysql restart

3. iptables 에 포트 등재
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT


'A.P.M > Mysql' 카테고리의 다른 글

mysql replication  (0) 2013.06.10
메타데이터 락 현상  (0) 2013.04.12
mysql 원격 포트 변경  (0) 2013.04.01
mysql data디렉토리 변경하기  (0) 2013.03.23
사례) mysql 4.0 -> 5.1 로 변환  (0) 2013.03.23
mysql 에 접속하여 캐릭터셋확인  (0) 2013.03.20

mysql data디렉토리 변경하기

2013.03.23 09:40 | Posted by 재능을키워라

사용할data디렉토리 생성

mkdir /home/mc

디렉토리 권한 변경

chown mysql.mysql /home/mc

DB 데이터를 새로 생성한 디렉토리로 이동

# service mysqld stop

설정파일 및 데몬파일 수정

/etc/my.cnf   및  /etc/init.d/mysqld

datadir 부분을 새로 생성한 경로로 수정

예시) datadir=/usr/local/mysql/data ==>  datadir=/home/mc

# service mysqld start



참조 : http://adminplay.com/589

'A.P.M > Mysql' 카테고리의 다른 글

메타데이터 락 현상  (0) 2013.04.12
mysql 원격 포트 변경  (0) 2013.04.01
mysql data디렉토리 변경하기  (0) 2013.03.23
사례) mysql 4.0 -> 5.1 로 변환  (0) 2013.03.23
mysql 에 접속하여 캐릭터셋확인  (0) 2013.03.20
mysql 계정 생성  (0) 2013.03.20

사례) mysql 4.0 -> 5.1 로 변환

2013.03.23 08:17 | Posted by 재능을키워라

mysql 마이그레이션

언어셋은 같은 euckr을 사용하고

덤프도 바로떠와서 넣었음에도 불구하고 게시판의 글들이 ????로 보였다.

이유는

/usr/local/apache/conf/httpd.conf  

콘프파일에서 .jsp 가 없어서 글이 그래보였던거였다...

수정전
AddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc

수정후
AddType application/x-httpd-php .jsp .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc

 

'A.P.M > Mysql' 카테고리의 다른 글

mysql 원격 포트 변경  (0) 2013.04.01
mysql data디렉토리 변경하기  (0) 2013.03.23
사례) mysql 4.0 -> 5.1 로 변환  (0) 2013.03.23
mysql 에 접속하여 캐릭터셋확인  (0) 2013.03.20
mysql 계정 생성  (0) 2013.03.20
맥스 얼로우 패킷 값  (0) 2013.03.18

mysql 에 접속하여 캐릭터셋확인

2013.03.20 20:52 | Posted by 재능을키워라

mysql 에 접속하여 캐릭터셋확인

 

show variables like 'char%';

'A.P.M > Mysql' 카테고리의 다른 글

mysql data디렉토리 변경하기  (0) 2013.03.23
사례) mysql 4.0 -> 5.1 로 변환  (0) 2013.03.23
mysql 에 접속하여 캐릭터셋확인  (0) 2013.03.20
mysql 계정 생성  (0) 2013.03.20
맥스 얼로우 패킷 값  (0) 2013.03.18
리눅스에서 mysql PATH 설정하기  (0) 2013.03.09

mysql 계정 생성

2013.03.20 20:23 | Posted by 재능을키워라

mysql 계정 생성

계정생성

GRANT ALL PRIVILEGES ON [DB명].[테이블명(*)] TO [유저명]@[서버명] IDENTIFIED BY '[암호]' ;

 

 

계정 생성 이후 권한 설정

GRANT ALL ON [DB명].[테이블명(*)] TO [유저명]@[서버명];

 

새로 로드 

FLUSH PRIVILEGES;

 

참조 :http://cafe.naver.com/neloi/134

'A.P.M > Mysql' 카테고리의 다른 글

사례) mysql 4.0 -> 5.1 로 변환  (0) 2013.03.23
mysql 에 접속하여 캐릭터셋확인  (0) 2013.03.20
mysql 계정 생성  (0) 2013.03.20
맥스 얼로우 패킷 값  (0) 2013.03.18
리눅스에서 mysql PATH 설정하기  (0) 2013.03.09
mysql 로그 안쌓이게 하는 방법 허브향기  (0) 2013.03.04

맥스 얼로우 패킷 값

2013.03.18 09:50 | Posted by 재능을키워라


   >>/var/log/messege

Lost connection to MySQL server at 'reading initial communication packet', system error:

위와같은 에러메세지 발견



  >>max_allowed_packet 값 확인

mysqladmin -u root -p variables | grep max_allowed_packet

| max_allowed_packet              | 1048576       

 

 >>조치방법 

/etc/my.cnf  보시면 

[mysqldump] 

quick 

set-variable    = max_allowed_packet=16M    <<    수정해주시고 

#set-variable    = extended-insert=FALSE 

#set-variable    = default-character-set=euckr 

변경

저장후 mysql 데몬 리스타트


참조 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_db&wr_id=118690&cwin=1

'A.P.M > Mysql' 카테고리의 다른 글

mysql 에 접속하여 캐릭터셋확인  (0) 2013.03.20
mysql 계정 생성  (0) 2013.03.20
맥스 얼로우 패킷 값  (0) 2013.03.18
리눅스에서 mysql PATH 설정하기  (0) 2013.03.09
mysql 로그 안쌓이게 하는 방법 허브향기  (0) 2013.03.04
테이블 체크 리페어  (0) 2013.02.26

리눅스에서 mysql PATH 설정하기

2013.03.09 13:19 | Posted by 재능을키워라

 

mysql 바로 사용하기위한

# vi /etc/profile

마지막줄에 추가

export PATH="$PATH:/usr/local/mysql/bin"
(mysql 실행 파일의 경로가 /usr/local/mysql/bin/mysql 일 경우에만 가능)

적용된 내용대로 하려면 다시 텔넷 접속

export 는 환경 변수를 설정하는 리눅스 명령어이고, 자신의 프로파일 안에 PATH 를 잡아주는 것이다.

그래서 바로접속 가능

참조 : http://leopit.com/Leophp/board/lecture_board/view.php?id=20&board_mode=mysql

'A.P.M > Mysql' 카테고리의 다른 글

mysql 계정 생성  (0) 2013.03.20
맥스 얼로우 패킷 값  (0) 2013.03.18
리눅스에서 mysql PATH 설정하기  (0) 2013.03.09
mysql 로그 안쌓이게 하는 방법 허브향기  (0) 2013.03.04
테이블 체크 리페어  (0) 2013.02.26
mysql 캐릭터셋 변경 언어셋  (0) 2013.02.08

mysql 로그 안쌓이게 하는 방법 허브향기

2013.03.04 17:56 | Posted by 재능을키워라

/etc/my.cnf 파일을 열어서

log-bin=mysql-bin
server-id   = 1

위의 두줄을 주석처리 해주고 mysql을 재시작 하면 됩니다.



[작성] 차동훈 (http://system.neulwon.com)



mysql bin로그를 지울시에는  첫번에서 끝번 놔두고 나머지를 지운후에

/usr/local/mysql/data/mysql-bin.index 에도 지워줘야합니다.

참고: mysql bin로그는 apache로그와는 달리 쿼리문이 기록되어있기때문에
백업과 관련된 부분에서 이용할 수 있다.
그래서 부분만 삭제하는 것은 로그의 의미를 상실하게 되는 부분이다.
그렇게 때문에 부분을 삭제하는 것은 아예 로그를 안남기는 것과 동일한 부분이다.

추가: 
mysql -bin 바이너리 로그
바이너리 형태 로그 소스로 변환 방법
mysqlbinlog mysql-bin.000001 > mysql-bin.000001.sql

테이블 체크 리페어

2013.02.26 10:38 | Posted by 재능을키워라

table check , repair

mysql 체크

쿼리문으로 복구 하기

# mysql -u root -p패스워드
 

     mysql> use DB명; 

     mysql> show tables; 

     mysql> check table 테이블명; 

     mysql> repair table 테이블명;

****체크후 수리하기
./mysqlcheck -uroot -p'passwd' --repair test


******특정 DB 모든 table 체크하기

./mysqlcheck -uroot -p'passwd' database명 


**** 귀찮을 때에는 알아서 체크 리페어 (오토리페어)

./mysqlcheck -u [계정명] -p --auto-repair [디비명]

mysql 캐릭터셋 변경 언어셋

2013.02.08 20:52 | Posted by 재능을키워라


 use information_schema;
스키마사용

 select * from character_sets;
사용할수잇는 캐릭터셋들

show variables like 'char%';
현재 캐릭터셋

set character_set_client = euckr;
set character_set_connection = euckr;
set character_set_results = euckr;
set character_set_database = euckr;
set character_set_server = euckr;
변경하기

'A.P.M > Mysql' 카테고리의 다른 글

mysql 로그 안쌓이게 하는 방법 허브향기  (0) 2013.03.04
테이블 체크 리페어  (0) 2013.02.26
mysql 캐릭터셋 변경 언어셋  (0) 2013.02.08
mysql관리자 패스워드 분실시 변경  (0) 2013.02.07
mysql table 만들기 (기본)  (0) 2013.02.04
MYSQL 기본 설정  (0) 2013.02.04

mysql관리자 패스워드 분실시 변경

2013.02.07 19:39 | Posted by 재능을키워라

 

mysql관리자 패스워드 분실시 변경
실행중인 mysql종료
ps -ef | grep mysqld 으로 확인
killall mysqld
이후에 진행

/usr/local/mysql/bin
./mysqld_safe --skip-grant-tables &
으로 실행

mysql -u root -p

use mysql;

 update user set password=password('1234') where user = 'root';

flush privileges;

설정 완료

 

'A.P.M > Mysql' 카테고리의 다른 글

테이블 체크 리페어  (0) 2013.02.26
mysql 캐릭터셋 변경 언어셋  (0) 2013.02.08
mysql관리자 패스워드 분실시 변경  (0) 2013.02.07
mysql table 만들기 (기본)  (0) 2013.02.04
MYSQL 기본 설정  (0) 2013.02.04
mysql 덤프  (0) 2013.01.30

mysql table 만들기 (기본)

2013.02.04 03:44 | Posted by 재능을키워라

ex)

student_db 라는 테이블 생성

mysql> create table student_db (
    -> sno int not null,
    -> name char(10),
    -> det char(20),
    -> addr char(80),
    -> tel char(20),
    -> primary key(sno)
    -> );
테이블이 만들어 졌는지 확인

# show talbes;

테이블에 필드들이 제대로 설정되어있는지 확인

명령어는 desc , describe 이다.

mysql> desc student_db;
mysql> desc student_db;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| sno   | int(11)  | NO   | PRI | NULL    |       |
| name  | char(10) | YES  |     | NULL    |       |
| det   | char(20) | YES  |     | NULL    |       |
| addr  | char(80) | YES  |     | NULL    |       |
| tel   | char(20) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Field : 선언한 필드

Type : 필드의 타입

sno : 정수의 11자까지 입력가능

name : 10byte 까지 입력가능

이런식으로 특정 글자를 넘어가지 않도록 제한을 두는 것이다.

Null : 공백을 인정하는지 않하는지를 알려주는 것이다.

key : 프라이머리 키를 의미, 필드명 sno가 기본으로 설정됨

**

위의 표에 다른필드를 추가

mysql> alter table student_db add age int after name;
student_db 테이블에 age를 name 다음에 위치한다. <<

필드를 삭제하려면?

add 대신에 drop 을 넣어준다.

# alter table 테이블명 drop 삭제할 필드명;

필드를 수정하려면?

alter table 테이블명 change 기존 필드명 새로운필드명 타입 ;

타입만 변경하려면?

mysql> alter table 테이블명 modify 기존 필드명 새로운타입 ;

테이블의 이름을 변경하려면?

mysql> alter table 기존 테이블명 rename 새로운 테이블명 ;

기존의 테이블을 삭제하려면?

mysql> drop table 삭제할 테이블명 ;


 

참조: http://mp17_2.blog.me/140167378491

 

'A.P.M > Mysql' 카테고리의 다른 글

mysql 캐릭터셋 변경 언어셋  (0) 2013.02.08
mysql관리자 패스워드 분실시 변경  (0) 2013.02.07
mysql table 만들기 (기본)  (0) 2013.02.04
MYSQL 기본 설정  (0) 2013.02.04
mysql 덤프  (0) 2013.01.30
DB 복구 repair  (0) 2013.01.30
이전 1 2 다음