-
권한문제
-
타임존 인식문제
-
은 아니었고 왜냐면 툴(workbench)로 잘 접속된다. telnet 해봐도 연결 잘되고
대문자로 만들어놓은 테이블명이 무슨이유인지 .. 모르겠지만 소문자로 변경되었을 떄
대문자로 다시 변경하는 방법
대/소문자 구분이 없는경우이므로 대/소문자를 동일하게 인식한다.
테이블명 : TB_MEMBERS
sql > rename tb_members to TB_MEMBERS
이런식으로하면 오류가 발생한다. 동일한 이름으로 인식하므로..
따라서 아래처럼 해야한다.
sql > rename tb_members to tb_members_temp
sql> rename tb_members_temp to TB_MEMBERS
sql> rename tablename to tempName;
sql> rename tempName to TABLENAME;
mysql 설치하고 한글 깨짐 발생
mysql > status; 해보면 캐릭터셋이 저 모양이다.
설치 폴더(C:\Program Files\MySQL\MySQL Server 5.7)에 my.ini 파일을 찾아서 수정하면 된다고 하는데..
근데.. 파일이 없다. 한참 찾았다. 그래도 안보인다. OTL
만들어도 봤다.... 안된다.
아~ 놔 @,.@
파일은 여기 있었다.
C:\ProgramData\MySQL\MySQL Server 5.7
근데 저 폴더가 안보인다.
눈을 씻고 찾아봐도 안보인다.
근데 저 경로를 입력하면 보인다.
보기탭에서 숨긴 항목 체크해주면 보인다.
한참 찾았네..
이제 설정을 바꿔줘야지 my.ini를 열고
뭐가 잔뜩 써있다.
그 중 주석으로 되어있는 기본 문자셋과 서버 문자셋을 utf8로 변경하면 된다.
앞에 # 은 주석이라는 의미 # 을 지우고 뒤에 utf8 이라고 적는다.
#default-character-set=
default-character-set=utf8
#character-set-server=
character-set-server=utf8
서비스 열고
Mysql57 서비스를 재시작한다.
변경되었는지 확인해본다.
이제 한글 잘 된다.
my.ini 변경하면서
Mysql57 서비스 시작중 오류 1503 발생으로 삽질을 좀 했는데..
결국 원인은 my.ini 에 오타때문이었다...
끝
instr 은 있는데 .. 뒤에서 부터 찾는 instrb 가 없어서 만들어봤다.
DELIMITER $$
DROP FUNCTION IF EXISTS `dbname`.`uft_InStrB` $$
CREATE DEFINER=`username`@`%` FUNCTION `uft_InStrB`(v_str varchar(1000), v_index varchar(100)) RETURNS int
BEGIN
BEGIN
DECLARE x_index int;
SET v_str = REVERSE(v_str);
SELECT instr(v_str, v_index) into x_index;
SET x_index = (Length(v_str) - x_index) + 1;
RETURN x_index;
END;
END $$
DELIMITER ;
예>
SELECT uft_instrb ('123_123_23', '_'); //결과 : 8