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 Server 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 [ERROR] [MY-010083] [서버] --verbose는 --help와 함께 사용하기 위한 것입니다. 오류-자세함?
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 [ERROR] [MY-010147] [서버] 인수가 너무 많습니다(첫 번째 추가 항목은 '/Users/alexeyzhulin/Projects/data/mysql) :/var/lib/mysql').
2023-07-17 21:53:46 2023-07-17T16:53:46.768321Z 0 [ERROR] [MY-013236] [서버] 지정된 데이터 디렉터리 /var/lib/mysql/을 모두 제거할 수 있습니다. 서버가 추가한 파일입니다.
2023-07-17 21:53:46 2023-07-17T16:53:46.768325Z 0 [ERROR] [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 커뮤니티 서버 - GPL.</pre>
<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 사용자의 소유인지 확인하세요