OpenStack安装keyston 错误BError: (pymysql.err.InternalError) (1071, u‘Specified key was too long; max key length is 767 bytes‘) [SQL: u‘ CREATE TABLE migrate_ver

折腾了两天的错误,BError: (pymysql.err.InternalError) (1071, u‘Specified key was too long; max key length is 767 bytes‘) [SQL: u‘ CREATE TABLE migrate_ver

2018-01-02 10:32:40.924 76081 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' CREATE TABLE migrate_version ( repository_id VARCHAR(250) NOT NULL, repository_path TEXT, version INTEGER, PRIMARY KEY (repository_id) ) ']
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     context)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 450, in do_execute
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     cursor.execute(statement, parameters)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/cursors.py", line 166, in execute
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     result = self._query(query)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/cursors.py", line 322, in _query
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     conn.query(q)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/connections.py", line 835, in query
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     self._affected_rows = self._read_query_result(unbuffered=unbuffered)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/connections.py", line 1019, in _read_query_result
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     result.read()
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/connections.py", line 1302, in read
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     first_packet = self.connection._read_packet()
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/connections.py", line 981, in _read_packet
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     packet.check_error()
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/connections.py", line 393, in check_error
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     err.raise_mysql_exception(self._data)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/pymysql/err.py", line 107, in raise_mysql_exception
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters     raise errorclass(errno, errval)
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters InternalError: (1071, u'Specified key was too long; max key length is 767 bytes')
2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters
2018-01-02 10:32:40.927 76081 CRITICAL keystone [-] DBError: (pymysql.err.InternalError) (1071, u'Specified key was too long; max key length is 767 bytes') [SQL: u' CREATE TABLE migrate_version ( repository_id VARCHAR(250) NOT NULL, repository_path TEXT, version INTEGER, PRIMARY KEY (repository_id) ) ']
2018-01-02 10:32:40.927 76081 ERROR keystone Traceback (most recent call last):
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/bin/keystone-manage", line 10, in <module>
2018-01-02 10:32:40.927 76081 ERROR keystone     sys.exit(main())
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/keystone/cmd/manage.py", line 45, in main
2018-01-02 10:32:40.927 76081 ERROR keystone     cli.main(argv=sys.argv, config_files=config_files)
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/keystone/cmd/cli.py", line 1312, in main
2018-01-02 10:32:40.927 76081 ERROR keystone     CONF.command.cmd_class.main()
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/keystone/cmd/cli.py", line 467, in main
2018-01-02 10:32:40.927 76081 ERROR keystone     CONF.command.version)
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/keystone/common/sql/upgrades.py", line 251, in offline_sync_database_to_version
2018-01-02 10:32:40.927 76081 ERROR keystone     expand_schema()
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/keystone/common/sql/upgrades.py", line 271, in expand_schema
2018-01-02 10:32:40.927 76081 ERROR keystone     _sync_common_repo(version=None)
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/keystone/common/sql/upgrades.py", line 171, in _sync_common_repo
2018-01-02 10:32:40.927 76081 ERROR keystone     init_version=init_version, sanity_check=False)
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/oslo_db/sqlalchemy/migration.py", line 73, in db_sync
2018-01-02 10:32:40.927 76081 ERROR keystone     current_version = db_version(engine, abs_path, init_version)
2018-01-02 10:32:40.927 76081 ERROR keystone   File "/usr/lib/python2.7/dist-packages/oslo_db/sqlalchemy/migration.py", line 131, in db_version
2018-01-02 10:32:40.927 76081 ERROR keystone     db_version_control(engine, abs_path, version=init_version)

在执行su -s /bin/sh -c "keystone-manage db_sync" keystone 时

这是因为字符集不一致一样引起的

在mysql的配置文件下,修改所有的文件中的字符集格式为utf8,utf8mbz修改为utf8

root@hett-virtual-machine:/etc/mysql/mariadb.conf.d 在此配置文件下面修改

然后进入mysql 把先前创建的keystone数据库删除,重新建,就完成了啊

折腾了好几天啊 终于解决了啊

原文地址:https://www.cnblogs.com/youran-he/p/8176081.html