더북(TheBook)

11. 다시 keystone-manage 명령어를 이용해 테이블을 생성합니다. 그런데 이번에는 테이블 생성문에 문제가 있다면서 오류 메시지를 표시합니다. 메시지를 잘 읽어 보니 Specified key was too long; max key length is 767 bytes 문장이 있네요. 오류 메시지를 해석하면 생성하려는 테이블은 migrate_version이고, repository_id는 VARCHAR 형의 250자를 입력할 수 있으며, 기본 키입니다.

root@controller:~# su -s /bin/sh -c “keystone-manage db_sync” keystone
2016-05-30 21:33:40.832 13866 ERROR oslo_db.sqlalchemy.exc_filters [-] DBAPIError
exception wrapped from (pymysql.err.InternalError) (1071, u’Specified key was
too long; max key length is 767 bytes’) [SQL: u’\nCREATE TABLE migrate_version
(\n\trepository_id VARCHAR(250) NOT NULL, \n\trepository_path TEXT, \n\tversion
INTEGER, \n\tPRIMARY KEY (repository_id)\n)\n\n’]
2016-05-30 21:33:40.832 13866 ERROR oslo_db.sqlalchemy.exc_filters Traceback (most
recent call last):
2016-05-30 21:33:40.832 13866 ERROR oslo_db.sqlalchemy.exc_filters   File “/usr/
lib/python2.7/dist-packages/sqlalchemy/engine/base.py”, line 1139, in execute
context
…
2016-05-30 21:33:40.834 13866 ERROR keystone     raise InternalError(errno,
errorvalue)
2016-05-30 21:33:40.834 13866 ERROR keystone DBError: (pymysql.err.
InternalError) (1071, u’Specified key was too long; max key length is 767 bytes’)
[SQL: u’\nCREATE TABLE migrate_version (\n\trepository_id VARCHAR(250) NOT NULL,
\n\trepository_path TEXT, \n\tversion INTEGER, \n\tPRIMARY KEY (repository_id)
n)\n\n’] 2016-05-30 21:33:40.834 13866 ERROR keystone

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.