モーグルとカバとパウダーの日記 このページをアンテナに追加 RSSフィード Twitter

モーグルやカバ(EXカービングスキー)、山スキー(BC)の山行記録などがメインの日記です。
いろんな条件のいろんなところを、その時々の条件にあった滑り方で楽しむ、フリースキーをして遊んでいます。

検索で来られた方は、上の検索窓から再度検索していただくか、右サイドバーのカテゴリーやトピックスの項目で絞り込んでみてください。
仕事柄、コンピュータ系のネタも多いので、スキー関連ネタだけ読みたい方は[ski]、コンピュータ関連ネタは[pc]、スパム関連ネタは[spam]で絞り込んでください。

2017-12-15 (Fri)

[]MySQL-5.1からMariaDB-5.5へのアカウント情報の移行 MySQL-5.1からMariaDB-5.5へのアカウント情報の移行を含むブックマーク MySQL-5.1からMariaDB-5.5へのアカウント情報の移行のブックマークコメントAdd Star

CentOS6系からCentOS7系への移行案件があり、そこでMySQL-5.1からMariaDB-5.5への移行を行う必要がありました。

他にも色々と変わる部分があるため、一旦動作テスト用のサーバを作って確認することになり、データの移行を行いました。

そのとき、アカウント情報の移行ではまったのでメモしときます。


まずアカウント情報は普通にフルダンプしても取れないため、下記のようにmysqlテーブルを指定して取ります。

正式移行の際には -x オプション付けてロックしたほうがよいでしょう。

# mysqldump -u root -p --allow-keywords mysql > user_dump.sql

その後、テスト用サーバにコピーしてリストアします。

# mysql -u root -p mysql < user_dump.sql

自分はもうこれだけでいいのかな、と思っていたのですが、これだけだと認証が通りませんでした。

まずバージョンが上がっているため、mysql_upgradeを掛ける必要があるそうです。

# mysql_upgrade -u root -p

また、移行元の環境はフロントのwwwサーバとバックエンドのdbサーバが分かれているのですが、テストサーバでは同一上で動かしているため、アカウントの接続元サーバ名の指定がそのままだと通らないので、クエリlocalhostに書き換えました。

が、それだけでは動かないで悩んでいたところ、flush privileges掛ける必要があると教えてもらいました。

update mysql.user set Host="localhost" where Host="www";
update mysql.db set Host="localhost" where Host="www";
flush privileges;

これで無事に動くようになりました。

とみたさんありがとうございます!!

トラックバック - http://d.hatena.ne.jp/stealthinu/20171215/p1