No Image

[MySQL] ERROR 1457 (HY000): Failed to load routine after upgrade or migratrion

2015-12-03 KENNETH 0

[MySQL] ERROR 1457 (HY000): Failed to load routine after upgrade or migratrion   에러메세지 ERROR 1457 (HY000): Failed to load routine DB_NAME.MY_PROCEDURE_01. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6) 상황 mysql 업그레이드 및 마이그레이션 작업 이후   데이터상태 proc 테이블에는 MY_PROCEDURE_01 이 제대로 들어가 있음 use mysql; select * from proc where name=’MY_PROCEDURE_01′; 의 결과는 제대로 나옴…   호출시 call DB_NAME.MY_PROCEDURE_01; show create procedure DB_NAME.MY_PROCEDURE_01; 등을 수행하게 되면.. 위의 에러메세지가 발생한다는것…   원인 테이블 손상 데이터 마이그레이션 실패 등 여러가지가 있겠으나.. 나같은 경우는… 구버전 -> 최신(mysql-5.7) 업데이트를 하다보니..   프로시저 선언시 CREATE TEMPORARY TABLE TMPTTT(REGDATE varchar(10))TYPE = HEAP 이런식으로 현재 버전에서 지원하지 않는 구문오류로 인해 해당 프로시저가 정상적으로 생성되지 않았던 것.   찾느라 무척 애먹음.. ;;;;;   mysql upgrade : https://dev.mysql.com/doc/refman/5.7/en/upgrading.html#upgrade-procedure-logical

mariadb-10.0 mysqldump bug

2015-11-24 KENNETH 1

mysqldump bug on MariaDB 10.0   환경 OS : CentOS-6.7 (64bit) DB : MariaDB-10.0.21 / 설치형태 : 소스컴파일   내용 같은문자열을 가졌으나 문자열중 대/소문자를 구분하는 테이블들이 존재할 경우 mysqldump 를 이용한 백업시 ”CREATE TABLE”구문에 사용되는 테이블명이 중복되는 문제 (말로 푸는것이 어려우니 아래 내용을 봅시다)   예시 1. DB정보 db name : test table name : AbDc aBDc aBdc abdC   2. 테이블생성 mysql (test)> create table abdC (kk int(3), kk2 text); mysql (test)> create table aBdc (kk int(3), kk2 text); mysql (test)> create table aBDc (kk int(3), kk2 text); mysql (test)> create table AbDc (kk int(3), kk2 text);   3. DUMP mysqldump -uroot test AbDc > AbDc.sql mysqldump -uroot test aBDc > aBDc.sql mysqldump -uroot test aBdc > aBdc.sql mysqldump -uroot test abdC > abdC.sql   4. 백업 데이터 확인 # grep CREATE *.sql AbDc.sql:CREATE TABLE `AbDc` ( aBDc.sql:CREATE TABLE [ more… ]

error 1062 (23000) at line duplicate entry for key ‘primary’

2015-11-23 KENNETH 1

error 1062 (23000) at line XX duplicate entry for key ’primary’ 에 대한 고찰   데이터 마이그레이션 작업을 하면서 자꾸만 오류가 발생.. ERROR 1062 (23000) at line 23: Duplicate entry ‘4’ for key ‘PRIMARY’   운영중인 데이터베이스의 레코드와 해당 레코드를 DUMP한 내용을 아무리 살펴봐도 잘못된점을 찾을 수 없는 상황이었는데….   알고보니.. 동일한 테이블명이 존재하고 있었던것!!!!! ?????? 이런식으로.. -rw-rw—- 1 mysql mysql 462 Nov 23 17:57 abc.frm -rw-rw—- 1 mysql mysql 462 Nov 23 17:57 Abc.frm -rw-rw—- 1 mysql mysql 8192 Nov 23 17:57 abc.MAD -rw-rw—- 1 mysql mysql 8192 Nov 23 17:57 Abc.MAD -rw-rw—- 1 mysql mysql 8192 Nov 23 17:57 abc.MAI -rw-rw—- 1 mysql mysql 8192 Nov 23 17:57 Abc.MAI   물론 여기에 기재한것은 내가 테스트를 해본것이고.. 실제 이름은 다른거;;; ㅋ   만들어 보니까 정말로 저렇게 되더라고.. mysql (test)>create table abc (kk int(3), kk2 text); Query OK, 0 rows [ more… ]

mariadb supported engines

2015-11-18 KENNETH 0

출처 : https://mariadb.com/kb/en/mariadb/choosing-the-right-storage-engine/ 출처2 : https://mariadb.com/kb/en/mariadb/storage-engines/   MariaDB supported engines   The Archive storage engine is, unsurprisingly, best used for archiving. Aria, MariaDB’s more modern improvement on MyISAM, has a small footprint and allows for easy copy between systems. The BLACKHOLE storage engine accepts data but does not store it and always returns an empty result, useful, for example, if you want to run complex filtering rules on a slave without incurring any overhead on a master. Cassandra is a NoSQL engine. CONNECT allows access to different kinds of text files and remote resources as if they were regular MariaDB tables. The CSV storage engine can read and append to files stored in CSV (comma-separated-values) format. However, since MariaDB 10.0, CONNECT is a better storage engine is able to read and write such files. FederatedX uses libmysql to talk to the data [ more… ]