ようへい

2020年12月31日木曜日

ラストオリジン バイオロイド製造 資源計算機

ラストオリジンでのバイオロイド製造の計算機です。
おかしな情報が表示されたら報告ください。
資源から各レアリティやタイプなどの出現率を確認する場合は以下のツールで確認できます。
ラストオリジン バイオロイド製造チェッカー
関連リンク
ラストオリジン 特攻OS&特攻属性&安定命中&完全回避&先制行動力チェッカー
ステージの特攻OS&特攻属性&安定命中&完全回避&先制行動力をチェックできます
ラストオリジン 経験値チェッカー
ステージの経験値をチェックできます
ラストオリジン 任務消化ステージ チェッカー
ラストオリジンでの任務を消化するためのステージをチェックできます
ラストオリジン バイオロイド/AGS タグ検索ツール
目的のスキルに紐づくユニットを抽出できます
ラストオリジン バイオロイド製造チェッカー
投入量資源量による排出バイオロイドの情報を確認できます
関連記事

2020年12月15日火曜日

Mac スーパーセキュリティがアンインストールできない時

macOS Big SurにアップデートしたらSourcenext のスーパーセキュリティが動かなくなったので、いったんアンインストールしようとしたが、以下のようなエラーになってしまいアンインストールすらできなくなった
どうしたもんかと思って、探していたら、以下のディレクトリを発見
/Library/Sourcenext/Central/Agent
直接ここにあるファイルを削除したらアンインストールされた事になった
12/15にBig Sur対応したスーパーセキュリティをリリースするらしいので、リリース待ち
関連記事

2020年11月1日日曜日

[Go To Eat] 無限くら寿司 計算機

くら寿司でのGo To Eatキャンペーンを利用した無限くら寿司用の計算機です。
関連記事

2020年8月24日月曜日

3年ほどプレイした LINE #ガンダムウォーズ を引退してから思うこと

約3年ほどプレイしたガンダムウォーズですが、2020/4/6で引退しました。😇
やめる直前の週のアリーナは210位でした。この辺の順位でも、結構維持が大変だった。

引退して数か月経過し、4周年イベントでも復帰する気が起きなかったので、いろいろと思うことを書きたいと思う。

辞めて数か月経った感想

寝る時間が確保されて、スマホを触る時間がかなり減った。
スマホは常時触っていたのが、1日2時間以内くらい。
睡眠時間は5時間くらいから、7~8時間。
日中色々な事に集中出来るようになった。仕事にしろ、テレビ・映画にしろ。

面白かったのは2周年まで

ストーリーでドロップする機体を集めてアリーナで戦う。そんな遊びができたのも2年目まで。
以降はストーリーやイベントの機体はゴミ同然。ガシャによるインフレが始まる。
スタークジェガンから環境が壊れ始めたんだと思う。

やる気のない運営

遊んでるうちに、運営のやる気を感じなくなっていった。
  • 一向に追加されないストーリー(年に2・3話くらい?00はアニメの2話目までしか実装されていない)
  • ノーマルミッションは2年以上追加されていない
  • 使いまわしのイベント
  • やたら周回をさせるイベント
  • イベント機体を配布しなくなった(半年に新規一体くらい)
  • ガシャ以外の機体はコレクションにしかならない性能になった
ガシャにだけ力を入れている感じ。
とはいえ、ガシャで追加される機体はSEEDや00が多く、他のシリーズの割合は低い。08小隊はガシャ機が存在しないし。

不具合を直さない運営

私の端末(Pixel 3XL)でも、たまに発生していたのですが、敵も味方も動かなくなる、通称お見合いウォーズという事象が2019年くらいから発生するようになりました。
Twitterでもたびたびスクショがアップされていますが、まるで改善されません。
そもそも運営が不具合として認識していない模様。

レイドの実装

個人的に引退を決意させたのがレイドの実装。
アナウンスがあってから、レイド実装されたら引退すると決めていました。
というのも、その昔 GジェネFR というスマホゲームがあったのですが、このレイドのシステムが、フレンドに救援を送ってフレンドに共闘してもらうというシステムだったのです。
これにより、救援を消化しなければ!!という意識になって、寝る暇も惜しんでプレイし、日常生活に支障をきたしたからです。
引退してTwitterをのぞいてみた感じ、ガンダムウォーズで実装したレイドもGジェネFRと同様のシステムのようでした。
辞めてよかったと思いました。

遊ぶ => スタミナ・BP消費義務へ

最初は楽しく遊んでいたが、そのうち「スタミナが溢れるから消化しないと」「BPが溢れるから消化しないと」という意識になっていきました。
運営の質、イベントの質もだんだんと下がり、かなり周回しないと報酬を手に入れることができないという方向になっていったため、モチベーションがどんどん下がりました。
「楽しい」から「スタミナ溢れるからやろう」という意識になったら辞め時だなと。

混沌としてきたスキル

「必中」だったり、「完全回避」だったり、「デバフを無効」へ対応するための「デバフを無効の解除」とか、かなりカオスな状態になってきた。
「ダメージ軽減」とか、「ダメージ無効」「ダメージ軽減無効」、敵のボスによっては「ダメージ軽減無効を無視して軽減する」みたいなものもあった。

最後に

ガンダムウォーズの戦闘システム、かなり無理があったのではと思う。
敵味方のMS/MA 12機が一斉に動いて技を連発させるというシステム。
これは、他のスマホゲームにはなかなか無い、スマホへの負荷が高いシステムだと思う。
ここ一年はどんどん技も派手になるし。
これによりiPhoneは撃破数が伸びてAndroidは撃破数が伸びないというような機種依存のクエストが生まれてしまったのでは。
動作を軽量化させるためのオプションをもっと充実させるべき。攻撃エフェクトを省略するとか。

リアルの時間を過剰に犠牲にするゲームはもうやらないと決めてるので、改善されても復帰しないと思いますが。😇 今後バンナムのスマホゲームからは距離を置くつもりです。
関連記事

2020年6月17日水曜日

Mac 版 NoxPlayer のTips

Mac 版 NoxPlayer のTips
Mac版NoxPlayer のバックアップ方法や初期化方法など、ネットを探しても見当たらないのでまとめました。
バージョン 3.0.3.0 での情報です。

NoxPlayer の初期化をしたい

Windows版にはNoxPlayerのVMのクリーンアップ機能がありますが、Mac版にはありません。
軽くするために初期化したい、もしくは何らかのエラーで初期化したい場合は以下を行います。
  1. NoxPlayerを終了
  2. 以下のパスをFinderで開く
    ~/Library/Application Support/NoxAppPlayer/BignoxVMS
  3. nox というディレクトリを削除するかリネーム
Mac 版 NoxPlayer のTips

NoxPlayer のバックアップをしたい

これもWindows版にはありますがMac版には無い機能です。
データ格納ディレクトリは初期化に書いたパスと同じです。
  1. NoxPlayerを終了
  2. 以下のパスをFinderで開く
    ~/Library/Application Support/NoxAppPlayer/BignoxVMS
  3. nox というディレクトリをコピー
Mac 版 NoxPlayer のTips
バックアップから戻すときは、
~/Library/Application Support/NoxAppPlayer/BignoxVMS/nox
を何処かに移動するか削除して、バックアップしておいたnoxディレクトリを
~/Library/Application Support/NoxAppPlayer/BignoxVMS にコピーします。

NoxPlayer のスクリプトレコードをバックアップしたい

スクリプトレコードは以下に格納されています。
フォルダごとバックアップしておきましょう。
~/Library/Application Support/NoxAppPlayer/record

NoxPlayer を重たくしないための設定

ストアの設定で、自動更新を無効にしておきましょう。
有効にしておくとシステムアプリがどんどん更新され、肥大化します。
Mac 版 NoxPlayer のTips
ハンバーガーアイコンをタップ
Mac 版 NoxPlayer のTips
設定をタップ
Mac 版 NoxPlayer のTips
アプリの自動更新をタップ
Mac 版 NoxPlayer のTips
アプリを自動更新しない を選択
関連記事

2020年6月1日月曜日

Netflix、Hulu、Paravi、U-NEXT、Amazon Prime Video 動画配信サービス評価

もうすぐDisney+が始まるので、その前に今まで加入した動画配信サービスを評価。
色々試した結果、NetflixHuluを交互に契約してます。
Amazon Prime は観るもの無くても常時加入。

Netflix

サウスパークが観れる。
アプリ(Android TV用、スマホ・タブレット用)に特に不満なし。
Netflixオリジナル作品が多い。
イントロスキップ機能は最高。
海外ドラマ、洋画が好きなら一択。

Hulu

Netflixに比べて、若干国内のコンテンツが多い様な気がする。
アプリ(Android TV用、スマホ・タブレット用)に特に不満なし。
Netflixで観るものがなくなったら交互に契約してます。

Paravi

水曜日のダウンタウンのために契約
水曜日のダウンタウンめっちゃ観れる〜と思って契約したが期待外れ。
水曜日のダウンタウンは70本ほど。
しかも、丸ごと1本分観れるわけでは無い。
1つの説だけに切り出されていたりする。(10~20分)
中でも酷いのは、モンスターハウス。
なぜか最終話だけ見れない。あのクロちゃんが見たかったのに。
さらにエラーが頻発する
  • 一台でしか観ていない(そもそも一台にしかParavi入れてない)のに、他の端末で再生されてるから見れないというエラーがかなりの頻度で発生。1話まともに見れない。
  • それ以外にも、かなりの頻度でエラーで中断される
  • エラーが発生して再開すると最初から再生
これらはストアのレビューにも多く報告されている
アプリ(スマホ・タブレット用)のシークが糞
エラーが発生すると最初からの再生になるのだが、観ていたところまでシークしようとすると、出来ない。
UIが糞すぎる。
ごくたまにシークできる。
めちゃくちゃ使いにくい。
次の動画にスキップする機能もない。
二度と契約しない。

U-NEXT

見放題作品数No.1 を謳っているが、映画やドラマの見放題が多いわけでは無い
パチンコとかスロットとか韓国ドラマとか、個人的にはどうでもいい様な映像が見放題に多く、肝心な映画やドラマの見放題は少ない。
見放題作品数No.1 とはよく言ったもんだなぁ〜と思った。
完全に肩透かし。
ラインナップには映画やドラマがあるのだが、見ようとすると有料でのレンタルとなる。
最新作も超充実 とか書いているが、最新作なんてもちろん有料なのである。しかもレンタル料金は400~500円前後と、レンタルショップより高め。
月額2000円近く払ってコレ?という感じ。
また、洋画は吹き替えが少ない
また、エラーにより動画が見れなくなるといったことも度々発生した。(これは自分だけではなく、Twitterで複数人で発生していた)
良い点を挙げるとすると、
  • ヤングシェルドン が独占配信
  • AVも見放題に入っている
このくらい
月額料金がNetflix,Huluの倍くらいなので、料金に見合ってない気がする。
アプリも次の動画にスキップする機能もない。
二度と契約しない

Amazon Prime Video

ハッキリ言ってコンテンツは多くない。が、プライムビデオ以外にも特典が多いので気にならない。
オリジナル作品も多い。
個人的に観たくないホラー系のコンテンツ(投稿型ホラー動画など)が多くて検索時に邪魔。
関連記事

2020年5月4日月曜日

[タイムゾーン対応] エポック秒、エポックミリ秒コンバーター

エポック秒(1970/1/1 00:00:00 +0000 からの秒数)、エポックミリ秒(1970/1/1 00:00:00 +0000 からのミリ秒数)を相互変換します。
UNIXタイムスタンプとも言う。 前に作ったコンバーターのタイムゾーン対応版です。

関連記事

2020年5月2日土曜日

[Windows 10] Ruby 2.7 & RMagick (ImageMagick) 環境構築

そろそろ Ruby 2.7 環境を作ろうと思ったので、ついでに RMagick を使える環境を構築。

準備するファイル

Ruby 2.7 + Devkit
WITH DEVKIT の方をダウンロードする。
Ruby Installer for WIndows
https://rubyinstaller.org/downloads/
ImageMagick
RMagick の GitHub をチェックすると、
ImageMagick Version 6.7.7 or later (6.x.x). Version 7 has beta support in version 4.1.0.rc2 (#256).
rmagick/rmagick: Ruby bindings for ImageMagick
https://github.com/rmagick/rmagick
と書かれているため、6系の最新をインストールすることにする。
6系は公式サイトからではなく、以下からダウンロードする。
ImageMagick binaries
http://www.imagemagick.org/download/binaries/ 今回は 6.9.11-10 を使用

セットアップ

  1. Ruby 2.7 をインストール
    • Select ComponentsMSYS2 development toolchain yyyy-mm-dd にチェックを付ける
    • セットアップ後、MSYS2 のセットアップ画面が表示されます。
      閉じてしまった場合は以下を実行
      $ ridk install
      Which components shall be installed? If unsure press ENTER [1,3] と表示されるので 1,2,3 と入力してセットアップしてください。
  2. ImageMagick をインストール
    • Select Additional TasksAdd application directory to your system pathInstall development headers and libraries for C and C++ にチェックを付ける
  3. RMagick をインストール
    • ターミナルを起動し、gem をインストール
      $ ruby -v
      ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x64-mingw32]
      $ gem install rmagick
      Fetching rmagick-4.1.2.gem
      Temporarily enhancing PATH for MSYS/MINGW...
      Building native extensions. This could take a while...
      Successfully installed rmagick-4.1.2
      Parsing documentation for rmagick-4.1.2
      Installing ri documentation for rmagick-4.1.2
      Done installing documentation for rmagick after 2 seconds
      1 gem installed

動作確認

$ ruby -r rmagick -e "puts Magick::colors"
上記で結果がズラズラ出ればとりあえず良さそう。
ただ、昔、rmagick と ImageMagick の相性問題に悩まされた記憶があるので、画像も読み込めるか確認。
$ ruby -r rmagick -e "Magick::Image.read('C:/Program Files/ImageMagick-6.9.11-Q16/images/logo-sm.png').map{|im| puts im.columns, im.rows }"
128
96
大丈夫そうですね。

まとめ

相性問題もあるので情報をまとめておきます。
  • Ruby 2.7.1p83
  • ImageMagick-6.9.11-10-Q16-x64-dll.exe
  • RMagick 4.1.2
関連記事

2020年3月12日木曜日

[Tampermonkey] ヤフオク! 違反通報をサポートするスクリプトを作りました [転売ヤー昇天]

ヤフオク! で転売ヤーによるマスクの高額出品が後を絶ちません。
出品禁止になっても、マスク以外の転売は続くでしょう。
そんな転売ヤーの出品に対して通報する際、重複通報してしまったりして効率が落ちる時があります。
そんな正義マンのために作りました。
Tampermonkey を導入していない方は以下を参照
Chrome への Tampermonkey とスクリプト導入方法

できること

違反通報した商品にパトロールアイコン表示
スクリプトインストール後に通報したオークションデータは格納されます。
その情報をもとに、商品名の前にパトロールアイコンを表示します。
また文字色も赤文字になります。
通報ボタンを押しやすく
商品名の下に通報ボタンを大きく表示します。
通報済みの商品ページに通報済みと表示
違反商品の申告ページで申告しやすく
違反商品の申告フォームまで自動スクロールします。
また、その他、利用規約やガイドラインに違反するもの での申告をデフォルト選択にします。
送信 ボタンもクリックしやすく大きくしてあります。
出品者の出品リストから一括通報
出品者の出品リストでチェックを入れて一括通報ボタンをクリックすると、チェックを入れたオークションの通報ページを直接開くことができます。
転売ヤーはガイドライン違反の出品を多数出品していることが多いので手間が省けます。
チェックする対象が多い場合は一括チェックをクリックすれば手間を省けます。

備考

オークションデータは、通報後8日間キャッシュされます。(出品期間は最長7日+12時間のため)

インストール

ヤフオク! で違反通報をサポートするスクリプト
https://logroid.github.io/user-script/8209_violation_report.user.js 要望等はコメントにお願いします。
関連記事

2020年3月5日木曜日

Chrome への Tampermonkey とスクリプト導入方法

Greasemonkey からフォークした Tampermonkey の導入方法です。
Chrome 以外にも導入できますが、Firefox 版ではバグがあったりするので Chrome 版を使用します。

Chrome への拡張インストール

以下のリンクを Chrome で開き、Chrome に追加 ボタンをクリックしインストールします。
Tampermonkey - Chrome ウェブストア
https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo

スクリプトの導入

例として、ヤフオク! での違反通報をサポートするスクリプトを導入してみます。
Tampermonkey がインストールされたブラウザで以下のリンクをクリックします。
ヤフオク! 違反通報
https://logroid.github.io/user-script/8209_violation_report.user.js インストール ボタンをクリックしてインストールします。 以下のページの内容が動作することを確認します。 [Tampermonkey] ヤフオク! 違反通報をサポートするスクリプトを作りました [転売ヤー昇天]
期待通りに動いていればOK

スクリプトの更新

Tampermonkey のデフォルト設定では、1日に1度チェックされて自動更新されます。
しかし、強制的に更新したい場合は、Chrome のツールバーの Tampermonkey アイコンをクリックして、UserScript の更新を確認 をクリックすることで更新できます。
関連記事

2020年2月20日木曜日

bash スクリプトでよく使うコマンドまとめ

スクリプトを動的に作る

$ cat <<'EOF' >/tmp/hogehoge.rb
xxx
EOF
あまり使わないけど、docker で自動的に環境構築するときとか、シェルからはできないような操作をする際に使ったり。

echo で色つけて出力

色・装飾つき echo コマンドメーカー

sed で置換

$ sed -i -e 's;fuga;bar;' \
    -e '/^hoge/s/=false/=true/' \
    /tmp/hoge.conf
sed の正規表現で気を付けるのは、-e 's;h+;HOGE;' と書いてしまうとダメ。
拡張正規表現を使うためには、対象のメタキャラクタをエスケープする。-e 's;h\+;HOGE;' という感じ。
よくハマる。

grep で抽出

$ echo "hoge=fuga" | grep -o "fuga"
fuga
これでもいいのだが、Perl の正規表現を使うようにして
$ echo "hoge=fuga" | grep -Po "=\K(fuga)"
こんな感じで使うほうが好き。

大量のファイルに何かをする

$ find <検索条件> -print0 | xargs -0i sh -c "echo {}; basename {}"
ポイントとしては、-print0 で null 区切りにすること。
こうすることで、ファイルパスに含まれる空白などが悪さをしなくなり xargs が正しく処理できる。
なお、-exec は制限あるので極力使わない。

ls の日付フォーマットを変更

$ ls -l --time-style=+%Y-%m-%d\ %H:%M:%S
加工するときとかに使う。

バイナリファイルのダンプ

$ od -tx1z <ファイルパス>
ファイルの中に制御文字入ってないかとか見るときに使ったり。

指定サイズのデータ作成

ランダムデータ
$ dd if=/dev/urandom of=random_data bs=1073741824 count=4
ddは2GB以上のブロックサイズを指定できないため、4GBを作る場合は1GBx4等で対処する
固定データ
$ printf "%01048576d" > 1MB.txt
0で埋まったファイルが作られる。

あるファイルが、どの rpm によりインストールされたか調べる

$ rpm -qf <ファイルパス>

rpm の中身を見る

未インストールの rpm
$ rpm -pql <rpmファイルパス>
インストール済みの rpm
$ rpm -ql <rpm名>
関連記事

色・装飾つき echo コマンドメーカー

シェルを書いてると、エラーや大切なメッセージを色や装飾つきで表示したくなることありますよね。
そんなとき、面倒な色のコードや、テキスト装飾の属性を調べるのが面倒だったのでつくりました。
色は 16bit カラーに限定しています。
点滅はブラウザが非対応なのでプレビューで意図的に再現してません。また、ほかにも装飾があったり色があったりしますが、省略しています。
必要な方はググってください。
なお、Macのターミナルの場合は、echo -e $'xxxx'のように、クォートの前に$を入れないと色が付きません。
Macターミナル対応
$ {{ echoCommand() }}
{{ echoText }}
コマンドをコピー
クリア
関連記事

2020年1月14日火曜日

Git で毎回 SSH パスワードを入力しなくていいようにする

セキュリティ考えてる人は SSH キーにパスワードを設定してると思いますが、この場合 git コマンドを打つたびにパスワードを聞かれるのが厄介。
これを解消します。
test -f ~/.bashrc && . ~/.bashrc
# Setup ssh-agent
if [ -f ~/.ssh-agent ]; then
    . ~/.ssh-agent
fi
if [ -z "$SSH_AGENT_PID" ] || ! kill -0 $SSH_AGENT_PID; then
    ssh-agent > ~/.ssh-agent
    . ~/.ssh-agent
fi
ssh-add -l >& /dev/null || ssh-add
~/.ssh-agentssh-agent の実行に必要な情報を書いておき、それを使い回す。
最後の行で、読み込まれた認証情報があるか確認し、なければ ssh-add する。
ssh キーがデフォルトのパス(~/.ssh/id_rsa) 以外にある場合は、
ssh-add -l >& /dev/null || ssh-add /path/to/id_rsa
のようにすればいいはず。 次回ログイン時にパスワードを聞かれますが、以後は ssh-agent がいい感じにやってくれると思います。
たぶん Linux でも Git for Windows の Git Bash でも同じはず。
Windows のコマンドプロンプトとかから使いたい場合は、
  1. puttygen で、Conversions -> Save private key で変換
  2. pageant に変換したキーファイルを読み込ませて起動
    pagent.exe ~\.ssh\id_rsa.ppk
  3. 環境変数 GIT_SSH に plink.exe のパスを設定
でいいはず。
関連記事

2020年1月8日水曜日

Windows で plink を使用して ssh 接続する際、 Store key in cache? (y/n) でタイプできなくなった場合の対処法

Windows で plink を使用し、GitHub に ssh 接続しようとしたのだが、
$ git fetch                                                    
The server's host key is not cached in the registry. You       
have no guarantee that the server is the computer you          
think it is.                                                   
The server's rsa2 key fingerprint is:                          
ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx   
If you trust this host, enter "y" to add the key to            
PuTTY's cache and carry on connecting.                         
If you want to carry on connecting just once, without          
adding the key to the cache, enter "n".                        
If you do not trust this host, press Return to abandon the     
connection.                                                    
Store key in cache? (y/n)                                      
y とタイプしたいのに入力できない。
この場合、puttyjp.exe を起動し、接続することで対応できる。
GitHub なら github.com と入力し、開く をクリック。
あとはキーを store するか聞かれるので Yes をクリックすれば store できます。
次回からはターミナルで操作できます。
関連記事

2020年1月7日火曜日

MySQL Enterprise 5.6 -> 5.7 -> 8.0 へのアップグレード手順

  • MySQL-server-advanced-5.6.46-1.el7.x86_64.rpm
  • MySQL-client-advanced-5.6.46-1.el7.x86_64.rpm
などがインストールされているRHEL7の環境

MySQL 5.7

  • mysql-commercial-server-5.7.28-1.1.el7.x86_64.rpm
  • mysql-commercial-client-5.7.28-1.1.el7.x86_64.rpm

MySQL 8.0

  • mysql-commercial-server-8.0.18-1.1.el7.x86_64.rpm
  • mysql-commercial-client-8.0.18-1.1.el7.x86_64.rpm
などが入った zip を Oracle のサポートサイトから取得
VM 上でやるため、バックアップとかは取得せずやります

MySQL 5.6 -> 5.7

# rpm -qa | grep MySQL
MySQL-devel-advanced-5.6.46-1.el7.x86_64
MySQL-shared-compat-advanced-5.6.46-1.el7.x86_64
MySQL-server-advanced-5.6.46-1.el7.x86_64
MySQL-client-advanced-5.6.46-1.el7.x86_64
MySQL-shared-advanced-5.6.46-1.el7.x86_64
# systemctl stop mysql
# rpm -Uvh mysql-commercial-*
警告: mysql-commercial-client-5.7.28-1.1.el7.x86_64.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID 5072e1f5: NOKEY
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:mysql-commercial-common-5.7.28-1.################################# [ 11%]
   2:mysql-commercial-libs-5.7.28-1.1.################################# [ 22%]
   3:mysql-commercial-client-5.7.28-1.################################# [ 33%]
   4:mysql-commercial-server-5.7.28-1.################################# [ 44%]
   5:mysql-commercial-libs-compat-5.7.################################# [ 56%]
整理中 / 削除中...
   6:MySQL-server-advanced-5.6.46-1.el################################# [ 67%]
   7:MySQL-shared-compat-advanced-5.6.################################# [ 78%]
   8:MySQL-shared-advanced-5.6.46-1.el################################# [ 89%]
   9:MySQL-client-advanced-5.6.46-1.el################################# [100%]
# systemctl start mysql
Warning: mysql.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
# systemctl daemon-reload
# systemctl start mysql
Failed to start mysql.service: Unit mysql.service failed to load: No such file or directory.
mysql が無いらしい。
# systemctl list-units --type=service --all | grep mysql
● mysql.service                          not-found failed   failed  mysql.service
  mysqld.service                         loaded    inactive dead    MySQL Server
mysqld になってた。
# systemctl disable mysql
# systemctl start mysqld
# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 金 2019-11-15 12:13:09 JST; 23s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2401 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 2384 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2405 (mysqld)
   CGroup: /system.slice/mysqld.service
           mq2405 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

11月 15 12:12:59 localhost.localdomain systemd[1]: Starting MySQL Server...
11月 15 12:13:09 localhost.localdomain systemd[1]: Started MySQL Server.
# mysql_upgrade -uroot -p
Enter password:
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
Upgrading the sys schema.
Checking databases.
<DB名>.<Table名>                                   OK
Upgrade process completed successfully.
Checking if update is needed.
# systemctl restart mysqld
# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 金 2019-11-15 12:20:24 JST; 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2608 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 2590 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2612 (mysqld)
   CGroup: /system.slice/mysqld.service
           mq2612 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

11月 15 12:20:23 localhost.localdomain systemd[1]: Starting MySQL Server...
11月 15 12:20:24 localhost.localdomain systemd[1]: Started MySQL Server.
# mysqlcheck -uroot -p --all-databases
Enter password:
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
<DB名>.<Table名>                                   OK
sys.sys_config                                     OK

MySQL 5.7 -> 8.0

# rpm -qa | grep mysql
mysql-commercial-server-5.7.28-1.1.el7.x86_64
mysql-commercial-common-5.7.28-1.1.el7.x86_64
mysql-commercial-client-5.7.28-1.1.el7.x86_64
mysql-commercial-libs-compat-5.7.28-1.1.el7.x86_64
mysql-commercial-libs-5.7.28-1.1.el7.x86_64
# systemctl stop mysqld
# rpm -Fvh mysql-commercial-*-8.0*
警告: mysql-commercial-backup-8.0.18-1.1.el7.x86_64.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID 5072e1f5: NOKEY
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:mysql-commercial-common-8.0.18-1.################################# [  9%]
   2:mysql-commercial-libs-8.0.18-1.1.################################# [ 18%]
   3:mysql-commercial-client-8.0.18-1.################################# [ 27%]
   4:mysql-commercial-server-8.0.18-1.################################# [ 36%]
   5:mysql-commercial-libs-compat-8.0.################################# [ 45%]
   6:mysql-commercial-backup-8.0.18-1.################################# [ 55%]
整理中 / 削除中...
   7:mysql-commercial-server-5.7.28-1.################################# [ 64%]
   8:mysql-commercial-client-5.7.28-1.################################# [ 73%]
   9:mysql-commercial-libs-compat-5.7.################################# [ 82%]
  10:mysql-commercial-libs-5.7.28-1.1.################################# [ 91%]
  11:mysql-commercial-common-5.7.28-1.################################# [100%]
まぁまぁ時間かかります。
router とかは必要に合わせて入れる感じで。
# systemctl start mysqld
まぁまぁ時間かかります。
# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 金 2019-11-15 12:33:33 JST; 26s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 3169 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 3200 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           mq3200 /usr/sbin/mysqld

11月 15 12:33:02 localhost.localdomain systemd[1]: Starting MySQL Server...
11月 15 12:33:33 localhost.localdomain systemd[1]: Started MySQL Server.
# mysql_upgrade -uroot -p
Enter password:
The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.
mysql_upgrade は非推奨になって、起動時に自動でアップグレードされるようになったらしい。
# mysqlcheck -uroot -p --all-databases
Enter password:
mysql.columns_priv                                 OK
mysql.component                                    OK
mysql.db                                           OK
mysql.default_roles                                OK
mysql.engine_cost                                  OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.global_grants                                OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.password_history                             OK
mysql.plugin                                       OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.role_edges                                   OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
<DB名>.<Table名>                                   OK
sys.sys_config                                     OK
# rpm -qa | grep mysql
mysql-commercial-client-8.0.18-1.1.el7.x86_64
mysql-commercial-libs-8.0.18-1.1.el7.x86_64
mysql-commercial-server-8.0.18-1.1.el7.x86_64
mysql-commercial-backup-8.0.18-1.1.el7.x86_64
mysql-commercial-common-8.0.18-1.1.el7.x86_64
mysql-commercial-libs-compat-8.0.18-1.1.el7.x86_6
特に問題なくアップグレードできました。
関連記事

twit で Error: incorrect header check が発生する場合の対処法

Chrome Extension で twit を使い Twitter からデータを取得していたのだが、11月くらいから Error: incorrect header check が発生していた。 パケットを見るとデータの取得は出来ているようだったが、スタックトレースを見ると、以下のようなログが出ていた。
11:59:05.119 background.ts:298 Error: incorrect header check
    at Zlib._handle.onerror (index.js:352)
    at Zlib._error (binding.js:283)
    at Zlib._checkError (binding.js:254)
    at Zlib._after (binding.js:262)
    at eval (binding.js:126)
    at eval (process.js:5)
GitHub 側にも報告有り。
Error: data error: incorrect header check · Issue #520 · ttezel/twit · GitHub
https://github.com/ttezel/twit/issues/520 想像だが、11月から Twitter APIが乗っているサーバが変わったとかで、gzip 圧縮の仕様が変わり、 Accept-Encoding: gzip を付けてAPIをリクエストした場合、返された gzip データを解凍できなくなり発生しているんだと思う。
gzip 圧縮を許可させなければいいので、twit のソースを変更することで、対処できそう。
本当は pull request 出せればいいんですが、issue 見ても動きが無いし、プロジェクトはもう動いて無い感じ・・・。
そして twit よりよさげな Twitter API クライアントも無い。
なので、twit にモンキーパッチを当てて回避する。
モンキーパッチで対処するため、パラメタで On/Off とかも考えず、とりあえず gzip 圧縮を無効にする。 まず、twit にパッチを当てたいので、patch-package を入れることにする。
$ yarn add -D patch-package
package.json の scripts に "postinstall": "patch-package" を追加
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "build:report": "vue-cli-service build --report",
    "build:dev": "vue-cli-service build --mode development",
    "build-watch": "vue-cli-service build-watch",
    "build-watch:dev": "vue-cli-service build-watch --mode development",
    "postinstall": "patch-package"
  },
twit の twitter.js の L208 をコメントアウト
twit/twitter.js at master · ttezel/twit · GitHub
https://github.com/ttezel/twit/blob/master/lib/twitter.js#L208
diff --git a/node_modules/twit/lib/twitter.js b/node_modules/twit/lib/twitter.js
index 9540857..c6baae3 100644
--- a/node_modules/twit/lib/twitter.js
+++ b/node_modules/twit/lib/twitter.js
@@ -205,7 +205,7 @@ Twitter.prototype._buildReqOpts = function (method, path, params, isStreaming, c
       'Accept': '*/*',
       'User-Agent': 'twit-client'
     },
-    gzip: true,
+    // gzip: true,
     encoding: null,
   }
パッチ作成
$ npx patch-package twit
パッチが効いているか試すため twit を入れなおす。
$ yarn remove twit
$ yarn add -D twit
これで twitter.js の L208 がコメントアウトされていればOK。
あとは build して、Error: incorrect header check が発生しないことを確認する。
関連記事