Docker で MySQL を実行し、作成したディレクトリにデータを永続化する [重複]
P粉482108310
2023-07-24 23:47:05
<p>Docker で MySQL を実行し、作成したディレクトリにデータを保存しようとしています。 </p>
<pre class="brush:php;toolbar:false;">docker run --name mysql-mac -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my_strong_password -d mysql:latest -v /Users/alexeyzhulin/Projects/data /mysql:/var/lib/mysql</pre>
<p>コンテナが起動および停止されます。コンテナーのログには次のものが表示されます。 </p>
<pre class="brush:php;toolbar:false;">2023-07-17 21:53:45 2023-07-17 16:53:45 00:00 [メモ] [エントリポイント]: のエントリポイント スクリプトMySQLサーバー8.0.33-1.el8が起動しました。
2023-07-17 21:53:45 2023-07-17 16:53:45 00:00 [メモ] [エントリポイント]: 専用ユーザー 'mysql' に切り替えます
2023-07-17 21:53:45 2023-07-17 16:53:45 00:00 [メモ] [エントリポイント]: MySQL Server 8.0.33-1.el8 のエントリポイント スクリプトが開始されました。
2023-07-17 21:53:45 2023-07-17 16:53:45 00:00 [メモ] [エントリポイント]: データベース ファイルを初期化しています
2023-07-17 21:53:45 2023-07-17T16:53:45.915750Z 0 [警告] [MY-011068] [サーバー] 構文「--skip-host-cache」は非推奨であり、次で削除されます。将来のリリースでは、代わりに SET GLOBAL host_cache_size=0 を使用してください。
2023-07-17 21:53:45 2023-07-17T16:53:45.915794Z 0 [エラー] [MY-010083] [サーバー] --verbose は --help と一緒に使用します; --log- のことですか?エラーの冗長性?
2023-07-17 21:53:45 2023-07-17T16:53:45.915904Z 0 [システム] [MY-013169] [サーバー] /usr/sbin/mysqld (mysqld 8.0.33) サーバーの初期化が進行中ですプロセス80
2023-07-17 21:53:45 2023-07-17T16:53:45.921828Z 1 [システム] [MY-013576] [InnoDB] InnoDB の初期化が開始されました。
2023-07-17 21:53:46 2023-07-17T16:53:46.234691Z 1 [システム] [MY-013577] [InnoDB] InnoDB の初期化が終了しました。
2023-07-17 21:53:46 2023-07-17T16:53:46.768297Z 0 [エラー] [MY-010147] [サーバー] 引数が多すぎます (最初の余分なものは '/Users/alexeyzhulin/Projects/data/mysql) :/var/lib/mysql')。
2023-07-17 21:53:46 2023-07-17T16:53:46.768321Z 0 [エラー] [MY-013236] [サーバー] 指定されたデータ ディレクトリ /var/lib/mysql/ は使用できません。すべて削除できます。サーバーが追加したファイル。
2023-07-17 21:53:46 2023-07-17T16:53:46.768325Z 0 [エラー] [MY-010119] [サーバー] 中止します
2023-07-17 21:53:48 2023-07-17T16:53:48.204456Z 0 [システム] [MY-010910] [サーバー] /usr/sbin/mysqld: シャットダウン完了 (mysqld 8.0.33) MySQL Community Server - GPL。
<p>作成したディレクトリにデータを永続化せずにコンテナを実行すると、正常に動作します。 </p>
<pre class="brush:php;toolbar:false;">docker run --name mysql-mac -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my_strong_password -d mysql:latest</pre>
<p>Docker で MySQL を実行し、作成したディレクトリにデータを永続化するにはどうすればよいですか? </p>
作成したディレクトリが mysql ユーザーによって所有されていることを確認してください