Kagoya VPS CentOS 7にMySQLを移行
社内のVMwareが10年以上も前のマシンなのでいつ壊れてもおかしくない
という事で、KagoyaのVPSにMySQLを移行する事にしました。
- Failing package is: mysql
- systemctl start mysqldのプロンプトが返ってこない
- The user specified as a definer does not exist
- ストアドプロシージャ、関数、トリガーのダンプコマンド
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
このダンプコマンドでストアドプロシージャ、関数、トリガーをダンプ
これも念の為メモ
登録日:
更新日: