리눅스/mysql 26

대용량sql 덤프파일에서 특정 테이블 추출하기

대용량 덤프파일에서 table 단위로 추출해야할 때가 있다. db를 만들어서 해당 데이터를 밀어넣은뒤 특정 테이블만 빼내어 작업하는경우도 있긴하지만... sql 파일 자체에서 sed 명령어로 해당 테이블에 대한 데이터만 빼내는 방법이 있다. 아래와 같이 이용하면된다. sed -n -e '/DROP TABLE.*테이블명/,/UNLOCK TABLES/p' 디비명.sql > 디비명.테이블명.sql ex) sed -n -e '/DROP TABLE.* harulife_test /,/UNLOCK TABLES/p' 20210202_harulife.sql > harulife_test.sql 위와같이 명령어를 통해 harulife_test 테이블을 20210202_harulife.sql(harulife_DB)에서 추출한..

리눅스/mysql 2021.02.03

mysql 패스워드 분실, 재설정

MySQL 5.7.9 버젼 설치 후 root 접속 시도 시 패스워드 장애로 MySQL 접속이 안될때 #/etc/init.d/mysql stop #/usr/local/mysql/bin/mysqld_safe --skip-grant-tables & #mysql -u root update mysql.user set password=password('패스워드') where user='root'; 콘솔 윈도우에서 mysqld_safe 실행으로 safe 모드로 MySQL 데몬을 구동하고 다른 콘솔 윈도우를 띄어 MySQL에 접속한다. #mysql -u root -p 접속 후 다음 명령어로 root 비밀번호를 업데이트한다. [5.7 이전 버젼] update mysql.user set password=password('..

리눅스/mysql 2021.01.11

리플리케이션 slave 동기화 속도가 느릴때 설정해볼만한것

mysql 서버를 운영중에 master , slave 간 동기화 속도때문에 문제가 발생되었다. Seconds_Behind_Master 값이 증가하는 현상도 발생되었다. 아래의 명령어를 slave 서버에서 진행되며 처리프로세스를 늘려서 좀더 원활하게 적용하도록 하는것이다. 필자는 mysql 5.6.12 버전에서 적용하였다. >show variables like 'slave%'; +------------------------------+-----------------------+ | Variable_name | Value | +------------------------------+-----------------------+ | slave_allow_batching | OFF | | slave_checkpo..

리눅스/mysql 2019.08.30

세그멘테이션 오류

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 2019.04.26

mysql 패스워드 초기화

mysql 중지 #/etc/init.d/mysqld stop #service mysqld stop mysql 안전모드 실행 후 접근 #/usr/local/mysql/bin/mysqld_safe --skip-grant-tables & #mysql -u root -p #(엔터) 5.7미만 mysql> UPDATE mysql.user SET password=PASSWORD('패스워드') WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> quit 5.7이상 mysql> UPDATE mysql.user SET authentication_string=PASSWORD('패스워드') WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> qu..

리눅스/mysql 2019.04.26

리플리케이션 끊겼을때

# 먼저 리플리케이션을 멈춘다. - slave db 서버를 멈춰도 master db 데이터는 계속 쌓이며 다시 실행하게 되면 그동안 쌓인 데이터가 slave db에 반영이 됩니다. mysql> stop slave; # 에러가 발생한 쿼리문을 1개 건너 뜁니다.(error가 여러 개이면 그만큼 반복 실행해서 에러가 난 쿼리문을 건너뛰게됩니다.) mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; # 리플리케이션을 시작한다. mysql> start slave; 위처럼 실행하게되면 그동안 쌓여있던 데이터들이 반영됩니다.

리눅스/mysql 2019.04.26

mysql 4.1 유저권한생성

mysql 4.1 유저 생성 아래와같은 명령어로 생성하면되며 %는 모두허용이지만 해당부분에 특정아이피를 통해 적용할수있다. INSERT INTO mysql.user (host,user,password) VALUES ('%','계정',password('비밀번호'));GRANT ALL PRIVILEGES ON *.* TO '계정'@'%'; 특이한사항으로 겪었던 권한생성관련 부분! mysql에 유저권한이 설정되어있지않았지만 해당디비에대해 패스워드는 지정되어있는 상태였다. 그런상태에서 권한을 줬을시 db에 문제가 생겼었다. /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & 해당명령어로 세이프모드 진입하고 아래와 같은순서대로 하니 정상적으로 나타났다. 1.세이프모드..

리눅스/mysql 2017.09.16

mysqladmin 설치

phpmyadmin 다운로드 경로 :http://www.phpmyadmin.net/home_page/downloads.php 자신의 아파치 웹디렉토리에 다운로드 받는다.http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.9/phpMyAdmin-4.0.9-all-languages.tar.gz tar zxvf phpMyAdmin-4.0.9-all-languages.tar.gz mv phpMyAdmin-4.0.9-all-languages.tar.gz myadmin http://localhost/myadmin 뭐이런식으로.. 추가$cfg['Servers'][$i]['auth_type'] = 'config'; 로 되어 있는 것을 $cfg['Server..

리눅스/mysql 2014.11.23

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

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 2014.11.23

innodb 확인방법

mysql innodb엔진은 4.x부터는 mysql설치시 기본적으로 탑재되어있었으나 5.1.3x부터는 기존 configure옵션되로 하면 기본적으로 innodb가 탑재가 안되며 configure옵션에 --with-plugins=innobase 또는 --with-plugins=max 옵션을 추가해줘야한다. innodb부분이 YES로 나와있어야함. mysql> show variables like 'have_innodb'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_innodb | YES | +---------------+-------+ 1 row in set (0.00 sec) mysql> show ..

리눅스/mysql 2014.11.23

ERROR 1040 (08004): Too many connections

종종 사이트에 접속자가 폭주하여 connection 에러가 발생하는 경우가 생긴다. 이럴땐 아래와 같이 해결하자. 1) 현재 mysql에 설정된 max_connections 확인 # mysqladmin -u root -p variables | grep max_connectionsEnter password:| max_connections | 100 2) max_connections 를 1000으로 늘리기# vi /etc/my.cnf----------------------------------------------------..[mysqld]max_connections = 1000..----------------------------------------------------# /etc/init.d/mysq..

리눅스/mysql 2014.11.23

DB 계정생성및 권한부여 패스워드 변경

1. GRANT 명령어를 사용하여 계정생성 및 DB 권한 주기 mysql> GRANT ALL PRIVILEGES ON *.* to mk@localhost IDENTIFIED BY 'password' WITH GRANT OPTION; // 모든 DB 접속권한 부여 및 root 권한 부여, mk라는 유저는 localhost 에서만 접속가능 (내부접속) mysql> flush privileges; //권한로드: 모든곳(외부)에서 접속가능하게 하려면 mk@localhost 부분을 mk@'%' 로 바꿔주면 됨 : mk계정이 특정한 곳에서만 접속 가능하게 하려면 mk@localhost 부분을 mk@'ip주소' 로 바꿔주면 됨 : mk계정이 특정 DB에 접속을 하며(보이며) 해당 DB에'만' root 권한(모든 명령..

리눅스/mysql 2014.11.23