はじめに
対象読者
- まさに Ubuntu 20.04 へ ver.up したら MySQL 5.7 へ接続ができなくなった人
問題
- MySQL への接続時に、以下のようなエラー文が吐かれる
: No such file or directory - <中略>/mysql2.so
-
libmysqlclient.so.20
が動作してくれないとならないけれど、実際にサーバにインストールされているのがlibmysqlclient.so.21
のみになってしまっている
本題
コンフィグ設定
コンフィグツールの導入
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
# ここでプロンプトが表示される
プロンプト上の操作
-
以下サイトの指示通り
Ubuntu Bionic
を選択MySQL Server
を選択MySQL 5.7
を選択最後に
Ok
でプロンプトから抜ける
パッケージインストールと確認
インストール
sudo apt update
sudo apt install libmysqlclient-dev=5.7.32-1ubuntu18.04
確認
-
libmysqlclient-dev
とlibmysqlclient20
とが5.7.32-1ubuntu18.04
で入っていればよい。これで接続できるようになっているはず
sudo apt list --installed | grep libmysql
libmysqlclient-dev/unknown,now 5.7.32-1ubuntu18.04 amd64 [installed,upgradable to: 8.0.22-0ubuntu0.20.04.3]
libmysqlclient20/unknown,now 5.7.32-1ubuntu18.04 amd64 [installed,automatic]
libmysqlclient21/focal-updates,focal-security,now 8.0.22-0ubuntu0.20.04.3 amd64 [installed,auto-removable]
バージョン固定
- 以下記事にあるように、このままだとバージョン更新の通知が来てしまうので、固定させておく
sudo apt-mark hold libmysqlclient20
sudo apt-mark hold libmysqlclient-dev
おわりに
感想
- 使われていないと思っていたら使われているサーバだったという、嘘のような本当の話で起こったものです。
補足
- 本記事の内容は同僚の @hiroto_otake さんが調査・解消対応してくれたものを、まとめ直したものです。その節はありがとうございました🙏