🏠 ホーム
プログラミング
インフラ
フリーランスCTO
DB
完全無料ツールまとめ
マーケティング

Kagoya VPS CentOS 7にMySQLを移行

  DB >  

社内のVMwareが10年以上も前のマシンなのでいつ壊れてもおかしくない

という事で、KagoyaのVPSにMySQLを移行する事にしました。

Failing package is: mysql

昔に作ったMySQLの手順書を参考にインストールを進めると

Public key for mysql-community-client-5.7.38-1.el7.x86_64.rpm is not installed


Failing package is: mysql-community-client-5.7.38-1.el7.x86_64

GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

というエラーのせいでなかなかインストールに進めない

4年前はこんなエラー出なかったのにOracleの方でそういうふうに変更したのかな!?

1時間ぐらいハマって下記のコマンドで解決

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

リポジトリとかの場合、ダウンロード提供者が変更したら少しハマってしまうので

手順書を作成しても、

手順書だけでは足りない事も出てくるというケースがあるんだなと思いました。

 

systemctl start mysqldのプロンプトが返ってこない

インストールしてからの 

systemctl start mysqld

の時間がやたら長くてビビる

長いというよりもプロンプトが帰ってこない

Kagoyaの環境独特のものなのかな?

プロンプトは返ってこないけどもmysqldは動いています

なので、次からは

systemctl restart mysqld &

で起動や再起動をします。


The user specified as a definer does not exist

このようなエラーはだいたいDBの移行中のリストアの時に起きるらしい

The user specified as a definer ('root'@'%') does not exist

のエラー内容でも大はまり

読んで字のごとく'root'@'localhost'から'root'@'%'しても変わらない

'root'@'%'を存在させるようにしてもエラーが治らないので

update mysql.userでHostを変更しても再起動しないと変更が反映されない

という事に数時間してから気づく

5時間ぐらいはまったのでメモ

次からは definerでどのユーザーでdumpしたかをチェックする

ユーザーの名前@Host名を合わせる

再起動

これでスカッとリストアできるはず

ここのやり直しはリストアなので、1回のトライアンドエラーに1時間ぐらいかかってしまう根気のいる作業

 

ストアドプロシージャ、関数、トリガーのダンプコマンド

mysqldump --routines --no-create-info --no-data --no-create-db

このダンプコマンドでストアドプロシージャ、関数、トリガーをダンプ

これも念の為メモ

登録日:

更新日:

by

コメント         tweetでコメント