OpenStack Error – Index column size too large. The maximum column size is 767 bytes [Solved]

本文介绍了解决OpenStack部署过程中因MySQL字符集设置不当导致的数据库同步错误的方法。主要包括调整配置文件中的字符集设置、重启MySQL服务、删除并重建相关数据库等步骤。

文章原地址   https://techglimpse.com/openstack-db-sync-error-mysql-character-set-solution/


执行  

# su -s /bin/sh -c "keystone-manage db_sync" keystone

时出现错误:CRITICAL 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']


Overall, you need to perform below steps:

  1. Replace utf8mb4 to utf8 in all configuration files
  2. Reload mysqld daemon
  3. Drop database keystone or glance or nova or neutron (for whichever service you were getting error and don’t worry, you haven’t populated the database yet and it’s safe to remove)
  4. Create database keystone or glance or nova or neutron
  5. Try db_sync or populate the database using OpenStack commands. It should probably work, else try Fix 2.
解决方案:

               1.将/etc/mysql/mariadb.conf.d目录下的所有.cnf文件中出现uft8mb4的地方都修改成uft8

                2.重启数据库  service mysql restart

                3.进入数据库把建立的keystone数据库删除

                4.重新建立keystone数据库

                5.输入su -s /bin/sh -c "keystone-manage db_sync" keystone  应该就可以运行了,不行的话实时Fix2.




同时推荐文章http://blog.youkuaiyun.com/zhujie_hades/article/details/52104116


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值