最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker MySQL啟動問題及解決過程

 更新時間:2025年09月27日 16:03:36   作者:驚鴻Randy  
Docker MySQL啟動失敗多因權(quán)限限制導(dǎo)致無法寫入/tmp和/var/run/mysqld目錄,推薦使用tmpfs掛載卷解決,同時需檢查SELinux和數(shù)據(jù)目錄權(quán)限,避免使用特權(quán)模式

問題概述

Docker 環(huán)境中的 MySQL 容器啟動失敗,主要表現(xiàn)為兩個核心錯誤:

  • 臨時文件權(quán)限問題
Can't create/write to file '/tmp/ibNysJx9' (Errcode: 13 - Permission denied)
  • UNIX Socket 鎖文件問題
Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock
Unable to setup unix socket lock file

根本原因

這些問題的根本原因是 Docker 容器內(nèi)的權(quán)限限制。

容器中的 MySQL 進(jìn)程無法寫入特定目錄(/tmp 和 /var/run/mysqld),導(dǎo)致啟動失敗。

解決方案

方案一:使用 tmpfs 和掛載卷(推薦)

# 創(chuàng)建必要的目錄
mkdir -p /path/to/mysql/data
mkdir -p /path/to/mysql/run/mysqld

# 設(shè)置正確的權(quán)限
chmod -R 777 /path/to/mysql/data
chmod 777 /path/to/mysql/run/mysqld
chown -R 999:999 /path/to/mysql/data  # MySQL 在容器中通常使用 UID 999

# 啟動容器
docker run --name mysql-5.7.30 \
  --dns 8.8.8.8 \
  --dns 114.114.114.114 \
  --add-host=目標(biāo)服務(wù)器的IP:127.0.0.1 \
  --tmpfs /tmp:rw,exec,mode=1777 \
  -v /path/to/mysql/data:/var/lib/mysql \
  -v /path/to/mysql/run/mysqld:/var/run/mysqld \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -p 3306:3306 \
  -d mysql:5.7.30

方案二:使用自定義配置文件

# 創(chuàng)建配置目錄
mkdir -p /path/to/mysql/conf

# 創(chuàng)建自定義配置文件
cat > /path/to/mysql/conf/my.cnf << EOF
[mysqld]
pid-file=/var/lib/mysql/mysqld.pid
socket=/var/lib/mysql/mysqld.sock
datadir=/var/lib/mysql
skip-host-cache
skip-name-resolve
EOF

# 啟動容器
docker run --name gwms-mysql \
  --dns 8.8.8.8 \
  --dns 114.114.114.114 \
  --add-host=目標(biāo)服務(wù)器的IP:127.0.0.1 \
  --tmpfs /tmp:rw,exec,mode=1777 \
  -v /path/to/mysql/data:/var/lib/mysql \
  -v /path/to/mysql/conf/my.cnf:/etc/mysql/my.cnf \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -p 3306:3306 \
  -d mysql:5.7.30

方案三:使用特權(quán)模式(不推薦用于生產(chǎn)環(huán)境)

docker run --name gwms-mysql \
  --privileged \
  --dns 8.8.8.8 \
  --dns 114.114.114.114 \
  --add-host=目標(biāo)服務(wù)器的IP:127.0.0.1 \
  -v /path/to/mysql/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -p 3306:3306 \
  -d mysql:5.7.30

其他可能需要考慮的因素

  • SELinux:如果系統(tǒng)啟用了 SELinux,可能需要臨時禁用或設(shè)置適當(dāng)?shù)纳舷挛?/li>
setenforce 0  # 臨時禁用
# 或者
chcon -Rt svirt_sandbox_file_t /path/to/mysql/data
  • 數(shù)據(jù)目錄權(quán)限:確保數(shù)據(jù)目錄具有正確的所有權(quán)
chown -R 999:999 /path/to/mysql/data
  • Docker 網(wǎng)絡(luò)問題:解決 DNS 解析問題
# 添加到 /etc/hosts
echo "目標(biāo)服務(wù)器的IP mysql-host" >> /etc/hosts

選擇適合您環(huán)境的方案,建議從方案一開始嘗試,它既解決了權(quán)限問題,又不會引入過多的安全風(fēng)險。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql 5.7.18 安裝教程及問題匯總

    mysql 5.7.18 安裝教程及問題匯總

    這篇文章主要介紹了mysql 5.7.18 安裝教程及問題匯總,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-04-04
  • MySQL基礎(chǔ)學(xué)習(xí)之約束詳解

    MySQL基礎(chǔ)學(xué)習(xí)之約束詳解

    約束是作用于表中字段上的規(guī)則,用于限制儲存在表中的數(shù)據(jù),這篇文章主要為大家介紹了MySQL中約束的案例以及外鍵約束的展示與刪除,需要的可以參考一下
    2023-07-07
  • MySQL 如何限制一張表的記錄數(shù)

    MySQL 如何限制一張表的記錄數(shù)

    能否控制單表在一個固定的記錄數(shù),比如說1W條,超過不讓插入新記錄或者說直接拋出錯誤?關(guān)于這個問題,沒有一個簡化的答案,比如執(zhí)行一條命令或者說簡單設(shè)置一個參數(shù)都不能完美解決。接下來便介紹MySQL 如何限制一張表的記錄數(shù)來給出一些可選解決方案
    2021-09-09
  • MySQL中l(wèi)ike模糊查詢的優(yōu)化方法小結(jié)

    MySQL中l(wèi)ike模糊查詢的優(yōu)化方法小結(jié)

    本文介紹了五種優(yōu)化MySQL中l(wèi)ike模糊查詢的方法,主要包含后綴匹配走索引、反向索引、縮小搜索范圍、使用緩存和借助全文搜索引擎這幾種,感興趣的可以了解一下
    2024-11-11
  • MySQL中的視圖特性使用及說明

    MySQL中的視圖特性使用及說明

    視圖是虛擬表,由查詢定義,包含列和行數(shù)據(jù),其與基表數(shù)據(jù)相互影響,修改任一方均會同步變化,創(chuàng)建需唯一命名,不可添加索引或觸發(fā)器,可提升安全性,ORDER BY在視圖中優(yōu)先,但被SELECT中的覆蓋
    2025-10-10
  • MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹

    MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹

    這篇文章主要介紹了MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹,還是非常不錯的,這里給大家分享下,需要的朋友可以參考。
    2017-10-10
  • mysql獲得60天前unix時間思路及代碼

    mysql獲得60天前unix時間思路及代碼

    首先根據(jù)now()獲得當(dāng)前時間,使用adddate()方法獲得60天前時間,使用unix_timestamp()方法轉(zhuǎn)換時間類型
    2014-08-08
  • 淺析MySQL并行復(fù)制

    淺析MySQL并行復(fù)制

    這篇文章主要介紹了MySQL并行復(fù)制的相關(guān)資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-11-11
  • mysql自增長id用完了該怎么辦

    mysql自增長id用完了該怎么辦

    如果你用過或了解過MySQL,那你一定知道自增主鍵了,下面這篇文章主要給大家介紹了關(guān)于mysql自增長id用完了該怎么辦的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Mysql按特定符號分割成多行和多列的示例

    Mysql按特定符號分割成多行和多列的示例

    本文主要介紹了Mysql 按特定符號分割成多行和多列,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

右玉县| 长垣县| 获嘉县| 太和县| 宁陕县| 南和县| 军事| 彰武县| 肥城市| 贺州市| 抚顺县| 苍南县| 富阳市| 龙泉市| 南阳市| 新兴县| 巴东县| 平阳县| 三河市| 永定县| 津市市| 沛县| 松溪县| 赞皇县| 临夏市| 平利县| 洪江市| 东至县| 余庆县| 信丰县| 望江县| 林口县| 虹口区| 华阴市| 高安市| 临武县| 且末县| 湄潭县| 和硕县| 社旗县| 邵东县|