======XAMPPのアップグレード======
**参考サイト**\\
How to upgrade XAMPP in Windows? Complete Solution.\\
https://medium.com/@asif.rocks/how-to-upgrade-xampp-in-windows-the-easy-way-93031fc923ce
====古いデータのバックアップ====
* XAMPPの**コントロールパネル**を開く
* **Shell**オプションをクリック
mysqldump -u root -p --all-databases > all-db-dump.sql
* を実行\\ rootはユーザー名、パスワードを設定していなければEnter、設定しているなら入力する\\ 猫のエサ
\\ xampp フォルダに all-db-dump.sql ができているはず。
* ApacheとMySQLサーバーを止める。コマンドプロンプトも閉じる。
* **xampp** フォルダを **xampp-old** にリネームする。
mysqldumpでエラーが出る場合:
mysqlcheck -c -u root -p --all-databases
mysqlcheck -r -u root -p --all-databases
mysqlcheck -c -u root -p --all-databases
check -> repair -> check で全部OKになれば大丈夫。
====新しいXAMPPをインストールする====
- https://sourceforge.net/projects/xampp/files/ から必要なパッケージをダウンロードする。\\ たぶん *.**VC15-installer.exe**だろう)。
- **xampp** フォルダにインストールする。
- XAMPPの**コントロールパネル**を開く
- ApacheとMySQLサーバーをスタートし、**phpMyAdmin**ページを開いて、動作しているかチェックする。[Admin]
- ApacheとMySQLサーバーを止める。
- バックアップした **xampp-old** フォルダから **htdocs** を、新しい **xampp** にコピーする。\\ ただし、中の **dashboard** と **xampp** はコピーしない方がいいかも。
- **xampp\php\php.ini**を変更している場合、変更内容を xampp-old\php\php.ini から反映させる。\\ 例えば、**upload_max_filesize**, **memory_limit**, **post_max_size** の三つ。\\ (post_max_size と memory_limit は、upload_max_filesizeより大きくないとならない)。\\ **extension=intl** のコメントを取る。
- **xampp\phpMyAdmin\libraries\config.default.php** を変更している場合も、xampp-old\phpMyAdmin\libraries\config.default.php から反映させる。\\ 例えば、$cfg[‘**ExecTimeLimit**’] = 600;
- **xampp\apache\conf\extra\httpd-ssl.conf**を変更している場合は、xampp-old\apache\conf\extra\httpd-ssl.conf から反映させる。(オレオレ証明書関係の**ServerName**, **SSLCertificateFile**, **SSLCertificateKeyFile**)。
- xampp\apache\conf\ の ssl.crt\*.crt と ssl.key\*.key をコピーする。
- ApacheとMySQLサーバーをリスタートさせる。
- Shellオプションをクリック。
- ''cd mysql/bin'' を実行
- ''mysqladmin -u root password'' を実行\\ rootのパスワードを入力
- MySQLサーバーをリスタートさせる。
- **xampp\phpMyAdmin\config.inc.php** を変更している場合は、xampp-old\phpMyAdmin\config.inc.php から反映させる。\\ $cfg['Servers'][$i]['auth_type']
- phpMyAdminを開く。[Admin]
- インポートタブで **all-db-dump.sql** をインポートする。\\ 「インポートは正常に終了しました」で終了するはず。\\ (userが重複しているとかエラーが出た場合には、mysqlのuserを削除して再実行してみる)
- インポートタブでうまくいかないときはShellで、''mysql_upgrade -u root -p /xampp-old/all-db-dump.sql'' を試してみる([[https://stackoverflow.com/questions/9497869/export-and-import-all-mysql-databases-at-one-time|参考]]).
- コマンドラインで mysql_upgrade を実行。\\ ''mysql_upgrade -u root -p''\\ rootのパスワードを入力\\ https://dev.mysql.com/doc/refman/5.6/ja/mysql-upgrade.html
すべてが正常に動作しているようなら、xampp-oldを削除する。
====エラー====
===19でError 1449 The user specified as a definer ('mariadb.sys'@localhost) does not exit===
https://www.softel.co.jp/blogs/tech/archives/5041
> ダンプファイルから、「/*!50017 DEFINER=`mariadb.sys`@localhost*/」の部分を削除するか、リストア先に存在する権限のあるユーザーに書き換えるとよい。