- HyperGROOVE
- Hood Rabbit의 맥(Mac) 갤러리
- 울지않는벌새 : Security, Mo⋯
- :: 붕어IQ의 세상사는 이야기 ::
- DATA FILEE STYLE
- 하얀잉크의 해피컨텐츠
- 이카루스의 리뷰토피아
- Kurien's Blog
- 사진은 권력이다
- 우리집 고양이는 TV를 본다
- 못된준코의 세상리뷰
- 에우르트는 나쁜남자 -_-
- 아이엠피터
- 김용택의 참교육이야기
- 다락방의 추억 상자
- All you need are LOVE
- 천추의 IT 이야기
- 서관덕의 시간이 머문 작은공간
- 티비의 세상구경
- TB의 SNS 이야기
- 그래서 난 아직도 ing :Seas⋯
- 자로의 꿈
- 꿈 많은 개발자가 되자! Tae-⋯
- 다산인권센터
- 아이폰주무르기
- 신씨's 쌀롱
- 구브의 잡동사니
- 해리의 문화예술 다이어리
- 꿈꾸는자의 생각의 파편들...
- 밀양765kV송전탑OUT
- 기묘한 블로그
- 소비자와 함께 만드는 공간⋯
- 투명사회를 위한 정보공개센터
- 아는만큼 쓰는 블로그
- 작은outsider의 생각누리
- Script Programming(스크립트⋯
- 선대인의 인사이트
- Programming is Fun
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- statefulset
- 세월호
- 세월호 참사
- opensuse 11.3
- Virtualization
- ubuntu
- mysql
- k8s
- Ubuntu 9.10
- Ansible-playbook
- 경영
- centos
- Linux
- glusterfs
- Open vSwitch
- Kubernetes
- OpenShift Origin
- mongodb
- openSUSE
- 창업
- container
- Xen
- 100년의가게
- Route53
- 가상화
- external-dns
- 100년의기업
- Openshift
- Docker
- git
- Today
- 17
- Total
- 1,107,015
목록mysql (20)
Bryan's Tech-Log
MySQL이 Oracle 에 인수될 즈음부터 MySQL을 기반으로 하면서 보다 향상된 개념으로 각자가 이름을 떨치며 꾸준히 진행되어 온 프로젝트가 바로 Percona와 MariaDB이다. 참고로 두 프로젝트의 연관성을 비교하는 내용은 이 곳의 포스팅을 보시면 되겠고, 이번 포스팅에서는 Codership이 만든 Synchronous Multimaster 방식의 Galera cluster 를 설치해 보고, 운영에 관련해서 고려할 점들을 정리해 두려 한다. Multimaster, Synchronous 한 특징을 가지는 이러한 MM 솔루션이 나오기 전에는(물론 완성도가 떨어지고 운영상 불편했던 MMM 같은 것도 있기는 했다), Master-Slave 구조의 비동기 Replication 방식이 많이 쓰였다. 한 ..
Opensuse 12.1 환경에서 PHP5 + lighttpd fastcgi + mongodb + mysql 개발/운영 환경 설정* howtoforge.com 내용 참조, 테스트 실행 & 보완 1. Lighttpd & php5 환경 설정 # zypper in -y lighttpd# systemctl enable lighttpd.service# systemctl start lighttpd.service * 기존의 php5 fastcgi 가 php5-fpm 패키지로 통합 업그레이드 되었고 별도 daemon으로 동작한다.# zypper in -y php5-fpm # mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf# chmod 1733 /var..
Opensuse 11.3, 12.1 각각에 대해 2회에 걸쳐서 정리* howtoforge.com 내용 참조, 테스트 실행 & 보완 1. Lighttpd & php5 환경 설정 # zypper in -y lighttpd# chkconfig --add lighttpd# chkconfig lighttpd on# service lighttpd start # zypper in -y php5-fastcgi * 아래 라인을 찾아서 un-comment# vi /etc/php5/fastcgi/php.ini cgi.fix_pathinfo=1 * 아래 라인을 찾아서 un-comment# vi /etc/lighttpd/modules.confinclude "conf.d/fastcgi.conf" server.modules = (..
5.1.X~5.5.X 까지도 가끔 발생되는 오류인데mysqldump 를 실행하면 로그상에 보이는 오류메시지이다. [ERROR] mysqld: Table './mysql/proc' is marked as crashed and should be repaired[Warning] Checking table: './mysql/proc' 이 때는 mysql 유틸리티에 포함된 mysqlcheck 을 사용하여 해결할 수 있다. # mysqlcheck --repair mysql proc -uroot -ppassword
* 2011/09/22에 update됨 * MySQL이 MySQL 5.5 부터는 SemiSync 라는 쓸만한 기능으로 Availability가 더 향상되었다. 즉, M-S1S2 형태의 Replication에서 M의 Transaction과 S로의 binlog write가 병렬로 처리되며(Master가 Slave의 binlog로의 전송을 보장, 동기=sync), S의 binlog에서 Storage 로의 write 는 비동기(async)로 처리된다(==> 반동기=SemiSync) [참조] http://www.mysqlkorea.co.kr/gnuboard4/bbs/board.php?bo_table=develop_03&wr_id=73 * 기존의 5.1.x 대에 비해서 script의 위치나 Replication 설..
Haproxy 의 option mysqlchk 로 DB 의 가용 여부를 점검하는 데에 쓸 수 있으나 정상적인 점검이 정확하게 되지 않으며, MySQL의 connection을 잠식하는 문제점이 있다. 단순히 DB 접속 port만 감시하는 방법도 쓸 수 있으나, DB의 정상 가동여부를 체크하는 방법으로는 적합하지 않다. xinetd service와, 간단한 db connection & query script를 이용 Assumption: MySQL home - /user/service/mysql Thanks to Unai Rodriguez(script author) & Sysbible(http://sysbible.org/) 1. script 작성 # cd /user/service/mysql/bin; vi my..
MySQL에서 NOT FOUND exception은 Cursor Fetch 시에만 발생한다. 따라서 update 아래의 IF 문 내의 처리는 의도한 대로 동작하지 않는다. 즉, 코더의 의도는 Update 문을 실행해서 해당 데이터가 없다면 If 문 내의 문장이 처리되기를 원한 거겠지만, 아래의 이 IF 문 내의 문장은 전혀 실행되지 못하게 된다. DECLARE MyErr INT default 0; DECLARE CONTINUE HANDLER FOR NOT FOUND set MyErr = -1; ... UPDATE table SET COL = 'data' WHERE KEY_COL = 'key data'; IF MyErr < 0 THEN statements_for_not_found...; END IF; 또한..
Database 내에서 발생하는 모든 쿼리들을 logging할 필요가 있을 때 SHOW VARIABLES LIKE 'general_log'; SHOW VARIABLES LIKE 'log_output'; SET GLOBAL general_log = 1; SET GLOBAL log_output = 'table'; -- 필요시에만 켜서 사용 SET GLOBAL general_log = 0; SET GLOBAL log_output = 'file'; -- 평상시에는 이렇게 disable해 두어야 엔진의 성능에 부담이 가지 않으므로 주의 Query logging table: mysql.general_log * MySQL에서는 milli-second 단위로 시간을 처리하지 않으므로 timestamp는 초 단위까지만 ..
(MySQL은 Percona XtraDB 5.1.49 기준) binutils automake libtool bison make termcap libtermcap.x86_64 libtermcap-devel.x86_64 gcc gcc-c++.x86_64 libstdc++.x86_64 ncurses ncurses-devel.x86_64 glibc.x86_64 glibc-common.x86_64 glibc-devel.x86_64 glibc-headers.x86_64 glibc-utils.x86_64
Full dump 파일이 100MB 이상 되면 slave 에서 로드하다보면 제대로 되는지 확인이 안되서 시간은 급한데 억장이 무너진다면 아래의 방법을 써본다. * Master: 10.10.0.200, Slave: 10.10.0.201 1. Master database read lock # mysql -uroot -prootpass flush logs; flush tables with read lock; 2. Rsync from master to slave(Slave) # mysqladmin -uroot -prootpass shutdown # rm -rf /user/services/mysql/data/* # rsync -r -p -v root@10.10.0.200:/user/service/mysql/dat..
* Refer to http://bugs.mysql.com/bug.php?id=55350 * make 시에 아래와 같은 오류 발생 ------------------------------------------------------------------------------------------------------ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sql -O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions -DUNIV_LINUX @ndbcluster_includes@ -c perror.c gcc: @ndbcluster_includes@: No such fi..
MySQL InnoDB 사용자를 위한 모니터링 툴( http://code.google.com/p/innotop/ , http://code.google.com/p/innotop/wiki/Screenshots ) 2010/11 에 새 버전이 나와서 update합니다. * Run as superuser # wget http://innotop.googlecode.com/files/innotop-1.7.2.tar.gz # wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz # zypper install perl-DBD-mysql [참고] # yum install perl-TermReadKey (Fedora의 경우, 빠져 있기 쉬운 패키지) # tar xv..
[Mysql NDB Cluster 설정] - 5.1.44-ndb-7.1.4b 1. 소스 다운로드 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.1/mysql-cluster-gpl-7.1.4b.tar.gz/from/http://mirror.khlug.org/mysql/ 2. 압축 해제, 설치 (필수 패키지: curses*, termcap, gcc-c++) # ./configure --prefix=/user/service/mysql --with-mysqld-user=mysql --sysconfdir=/user/service/mysql/conf --with-unix-socket-path=/tmp/mysqld/mysql.sock --with-charset=utf8 -..
1. Source 다운로드, 압축해제 다운로드 http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.4-m3.tar.gz/from/http://mirror.khlug.org/mysql/ # tar xvzf mysql-5.5.4-m3.tar.gz 2. mysql 사용자 추가 # groupadd mysql # useradd -M -g mysql -s /bin/false mysql 3. Configure Makefile * ForMysqlBaseDir : /usr/local/ or /dev/local/service/, etc... # rm -rf /ForMysqlBaseDir # ./configure --prefix=/ForMysqlBaseDir/mysql --wi..
SET @mac := '00afafafafaf'; -- ==> '00afafafafb0' 로 주소 값을 1증가 시키려고 한다 CONV(@mac, 16, 10) + 1; -- 12자리 mac address string을 BigInt 정수로 변환하여 +1 HEX(정수); -- 정수값을 hexadecimal string으로 변환 LPAD(string, digits, '0'); digits자리수 만큼 왼쪽에 '0'을 채운다 -- 결과 SELECT LPAD(HEX(CONV(@mac, 16, 10)+1), 12, '0'); SELECT INET_ATON( '168.126.63.1') = 2826845953 -- BigInt SELECT INET_NTOA( 2826845953 ) = '168.126.63.1'
Linux 패키지 종류가 다양하고 Compiler version과 라이브러리 버전이 워낙 다양하므로 MySQL connector c++ 1.0.5 버전 rpm을 설치하면 컴파일시 libstdc++.so.5 버전이 필요한데 libstdc++.so.6 버전이라서 경고가 뜨는 경우가 있다. 대개는 오류가 주루룩 뜨지만, 가끔 경고만 뜨고 컴파일은 되나 실행하면 거의 core가 생긴다. 이 때는 어쩔수 없이 직접 source 로부터 connector c++을 빌드해서 써야한다(아니면 statifier 같은걸 쓸 수도 있지만 편법이라 별로다) 우선 cmake 2.6.2 버전 이상이 필요하다. # wget http://www.cmake.org/files/v2.8/cmake-2.8.0.tar.gz # tar -xvz..
NetBeans 6.8 에서 C++을 통하여 MySQL을 다루기 위해 Connector C++을 사용하기로 하였다. 처음부터 쉬운 길을 택한 것에 대한 징벌인가 ㅡ_-;; 샘플 소스 받고 빌드 하니 ld 에서 오류가 떨어진다...엉뚱한 버전의 라이브러리를 찾고 난리도 아니다. Binary 버전(Redhat, SUSE, Max OSX, FreeBSD, Windows 용 다 있는데 Karmic 용은 없네...generic 을 받을 수 밖에...)을 다운로드 받고 tar로 압축 풀고 /usr/include, /usr/lib 에 적당히 복사하고 Library link 정보까지 깔끔하게 업데이트 하기 위해 ldconfig 까지 돌렸는데;;; 안된다. 구글링을 해 보니, MySQL Connector C++ bina..
먼저 상태를 확인해 본다. > mysqladmin -u root -p status root로 mysql db로 접속 > mysql -u root -p (또는 mysql -uroot -ppassword) 만약 root 암호를 변경하려면 mysql> update mysql.user set password = password('root-password') where user = 'root'; 를 수행한다 사용자를 추가하려면 > mysql -uroot -ppassword mysql INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'username', password('password')); -- %를 쓰지 않고 localhost를 쓸 경우 remote 접..
APM에서 UTF-8을 구현하려면 아래 여러 부분을 수정해야 한다. 1. apache 환경파일 편집 (httpd.conf) 2. php 환경파일 편집 (php.ini) 3. mysql 환경파일 편집 (my.cnf) 4. apache, mysql 서비스 재시작 5. mysql에서 캐릭터셋 확인 및 디비생성 6. php 소스코드에 mysql_query("set names utf8;"); 함수 추가 7. php 소스에 한글문자열이 있으면 파일저장할때 UTF-8 파일형식으로 저장 8. 웹브라우즈의 보기-인코딩-UTF-8로 선택 1. /etc/httpd/conf/httpd.conf 에서 캐릭터셋 수정 /*------------ AddDefaultCharset UTF-8 2. /etc/php.ini 에서 캐릭터셋 ..
1. MySQL 서버의 타임존 설정방법에 관하여 일반적으로 MySQL 설치시 timezone에 대해서 별도 옵션을 지정하지 않으면 태평양표준시인 PST(Pacific Standard Time) 으로 설정된다(PST/PDT 등에 대해서는 여기 참조). * 참고로 Ubuntu에서 시스템의 표준시를 KST(대한민국 표준시)로 바꾸려면 # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime (MySQL 관련한 세부 정보 및 사용법은 http://www.mysqlkorea.com 참조) DB 서버에 클라이언트로 접속해서 타임존 설정을 확인해 보자 mysql> select @@system_time_zone; +--------------------+ | @@system_ti..