久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Macosx下使用docker/mysql會出現什么問題

168次閱讀
沒有評論

共計 3160 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章主要為大家展示了“Macosx 下使用 docker/mysql 會出現什么問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“Macosx 下使用 docker/mysql 會出現什么問題”這篇文章吧。

問題描述

在 macosx 下如果指定本地目錄替換 /var/lib/mysql,運行時會出現文件權限的錯誤,導致 mysqld 無法正常運行

Creating mysql_test-mysql_1
Attaching to mysql_test-mysql_1
test-mysql_1 | Initializing database
test-mysql_1 | 2016-03-23T04:32:37.437789Z 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
test-mysql_1 | 2016-03-23T04:32:37.466955Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation.
test-mysql_1 | 2016-03-23T04:32:37.467828Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
test-mysql_1 | 2016-03-23T04:32:37.468824Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation.
test-mysql_1 | 2016-03-23T04:32:37.468912Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
test-mysql_1 | 2016-03-23T04:32:37.470280Z 0 [ERROR] InnoDB: Cannot open datafile  ./ibdata1 
test-mysql_1 | 2016-03-23T04:32:37.470309Z 0 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
test-mysql_1 | 2016-03-23T04:32:37.470317Z 0 [ERROR] InnoDB: InnoDB Database creation was aborted with error Cannot open a file. You may need to delete the ibdata1 file before trying to start up again.
test-mysql_1 | 2016-03-23T04:32:38.073222Z 0 [ERROR] Plugin  InnoDB  init function returned error.
test-mysql_1 | 2016-03-23T04:32:38.073268Z 0 [ERROR] Plugin  InnoDB  registration as a STORAGE ENGINE failed.
test-mysql_1 | 2016-03-23T04:32:38.073283Z 0 [ERROR] Failed to initialize plugins.
test-mysql_1 | 2016-03-23T04:32:38.073289Z 0 [ERROR] Aborting
test-mysql_1 | 
mysql_test-mysql_1 exited with code 1

解決方案

創建在 scripts 目錄下 mysqld 啟動腳本

#!/bin/bash
# From https://github.com/docker-library/mysql/issues/99
set -e # fail on any error
echo  * Working around permission errors in Docker on Mac locally by making sure that  mysql  uses the same uid and gid as the host volume 
TARGET_UID=$(stat -c  %u  /var/lib/mysql)
echo  -- Setting mysql user to use uid  $TARGET_UID
usermod -o -u $TARGET_UID mysql || true
TARGET_GID=$(stat -c  %g  /var/lib/mysql)
echo  -- Setting mysql group to use gid  $TARGET_GID
groupmod -o -g $TARGET_GID mysql || true
echo  * Starting MySQL 
chown -R mysql:root /var/run/mysqld/
/entrypoint.sh mysqld --user=mysql --console

創建 docker-compose.py,指定 run-mysqld.sh 腳本為容器入口

test-mysql:
 image: mysql 
 ports:
 -  3306:3306 
 volumes: 
 - /localhost/mysql/data:/var/lib/mysql 
 - ./scripts/run-mysqld.sh:/run-mysqld.sh
 environment:
 - MYSQL_DATABASE=play
 - MYSQL_USER=play
 - MYSQL_PASSWORD=play
 - MYSQL_ROOT_PASSWORD=123456
 entrypoint: /run-mysqld.sh

運行 docker-compose up 命令,啟動容器

以上是“Macosx 下使用 docker/mysql 會出現什么問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計3160字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 呈贡县| 巴林左旗| 江阴市| 会同县| 定边县| 城步| 中卫市| 乐东| 商南县| 黎平县| 桂平市| 汤原县| 新竹县| 象州县| 康保县| 阳朔县| 藁城市| 茶陵县| 兰州市| 贡觉县| 漳平市| 遂宁市| 凯里市| 榆中县| 台北市| 宝坻区| 东阳市| 常州市| 舒兰市| 崇明县| 买车| 锦州市| 中阳县| 调兵山市| 海晏县| 四会市| 涡阳县| 大兴区| 景泰县| 丹棱县| 手游|