KOA-mysqlのセッションを使用してエラー

  • 説明
    ローカルテストコードには問題ありませんが、エラー時にサーバーにデプロイする場合。

  • エラー

> cross-env WEBPACK_TARGET=node NODE_ENV=production node ./server/app.js

true
the server is start at port 3333
/usr/share/nginx/nav/server/node_modules/koa-mysql-session/node_modules/co/index.js:292
    throw err;
    ^

Error: ER_INDEX_COLUMN_TOO_LONG: Index column size too large. The maximum column size is 767 bytes.
  • 理由:MySQLの違いのバージョンは、サーバー上のローカル5.7、5.6によって引き起こされているため。4年前のKOA-mysqlのセッションパッケージ、推奨されません。

    デフォルトの767bytesを超えることはできません5.6、5.7 3072bytesを超えていない:単一列のインデックスの長さを制限

  • :解決
    mysql_session_storeマニュアルを作成

    CREATE TABLE `_mysql_session_store` (
    `id` varchar(255) NOT NULL,
    `expires` bigint(20) DEFAULT NULL,
    `data` text,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
  • :リファレンスMySQLで長さの制限インデックス

  • 推奨:

おすすめ

転載: www.cnblogs.com/xulonglong/p/shi-yongkoamysqlsession-shi-bao-cuo.html