mysql 오픈 소스 코드에 대해 여쭙니다.
안녕하세요. 조그만 호스팅 회사를 다니고 있습니다.
다름이 아니라 저희가 도메인을 세팅하려는데 도메인명을 계정명으로 생성되게 시스템이 되있습니다.
그런데 문제가 한글도메인을 세팅하는데 퓨니코드로 변환된것을 계정으로 생성하려니 길이가 35자라 에러가 생기는
겁니다. (CentOS 시스템은 31자로 제한이 되있음.) 그래서 useradd 와 passwd를 수정하여 48자로 늘려서
해결을 보았는데 문제는 mysql 에서 일어나는겁니다. mysql에서도 소스를 수정보아 mysql 계정 생성도 잘 되게
수정을 하였는데. 로그인할때 문제가 일어납니다.
예를 들어서
mysql -u abcdef12345678910111213141516171920 -p
ENTER PASSWORD:
ERROR 1045: Acess denied for user: 'abcdef123456789101112131415161719@localhost' (Using password: YES)
이렇게 에러가 나는데 끝에 자리가 짤리는 겁니다.(35자 중에 33자까지만 나옵니다.)
해외 사이트고 뭐고 검색도 해보고 소스도 보았으나 소스는 C와 C++이 섞여있어 전문 개발자가 아닌 저로써는
간단히 찾기가 어렵네요. argv 인자를 받아 처리하는 부분에 뭔가 길이제한이 있을거라 생각해서 찾아봤지만
여간 어려운게 아니네요.. 고수분들 중에서 이 경우에 대해 아시는 분들 가르침 부탁드립니다.
자답입니다.
mysql-4.0.20에서 확인한겁니다.
libmysql_r/libmysql.c 에서
strmake(buff+5, user, 32); /* Max user name */
라는 코드가 있습니다. 3번째 인자 값을 변경하시면 됩니다.
댓글 달기