簡體   English   中英

mysqld:無法讀取“/etc/mysql/conf.d/”的目錄(OS errno 13 - 權限被拒絕)

[英]mysqld: Can't read dir of '/etc/mysql/conf.d/' (OS errno 13 - Permission denied)

docker-mysql-configmap.yml

apiVersion: v1
kind: ConfigMap
metadata:
    name: mysql-initdb-config 
data: 
    initdb.sql:
        use mydb;
        create table product(
        id int AUTO_INCREMENT PRIMARY KEY,
        name varchar(20),
        description varchar(100),
        price decimal(8,3) 
        );
            
        create table coupon(
        id int AUTO_INCREMENT PRIMARY KEY,
        code varchar(20) UNIQUE,
        discount decimal(8,3),
        exp_date varchar(100) 
        ); ```

db-mysql-service.yml

```apiVersion: v1
kind: Service
metadata:
    name: docker-mysql
    labels:
        app: docker-mysql
spec:
    selector:
        app: docker-mysql
    
    ports:
        - port: 3306
          targetPort: 3306     
          nodePort: 30287  
    type: NodePort 

        
   ``` >


db-sql-deplymonent.yml

```apiVersion: apps/v1
kind: Deployment
metadata: 
    name: docker-mysql
    labels:
        app: docker-mysql
spec:
    replicas: 1  
    selector:
        matchLabels:
            app: docker-mysql      
    template:
        metadata:
            labels: 
                app: docker-mysql
        spec:
          volumes: 
            - name: mysql-initdb-vol
              configMap:
                name: mysql-initdb-config 
          containers: 
                 - name: docker-mysql
                   image: mysql
                   volumeMounts:
                    - name:  mysql-initdb-vol
                      mountPath: /docker-entrypont-initdb.d
                   
                   
                   env:
                     - name: MYSQL_DATABASE 
                       value: mydb 
                     
                        
                     - name: MYSQL_ROOT_PASSWORD
                       value: norton09   
                     - name: MYSQL_ROOT_HOST
                       value: '%'   
                   



當我檢查 pod 的日志時,出現錯誤。

2020-09-06 01:10:15+00:00 [注意] [入口點]:MySQL Server 8.0.21-1debian10 的入口點腳本已啟動。 2020-09-06 01:10:15+00:00 [錯誤] [入口點]:mysqld 在嘗試檢查配置命令時失敗:mysqld --verbose --help mysqld:無法讀取 '/etc/ 目錄mysql/conf.d/' (OS errno 13 - Permission denied) mysqld: [ERROR] 默認處理中的致命錯誤。 程序中止!

您沒有提到您使用的是什么環境、kubernetes 或 mysql 版本,但有一些事情可能有助於解決此問題。

  1. 更改對這個文件/目錄的訪問你也沒有提到你是否想檢查它是如何工作的,或者它將在生產中使用。 如果此解決方案符合您的需求,您可以使用chown命令更改文件的chown

可以在此線程此 中找到其他信息。

  1. 禁用 apparmor

如此 Github 線程中所述,您可以禁用mysql apparmor 或使用 此評論中的命令。 您還可以查看此線程以獲取更多信息。

  1. 使用privilaged選項

它被this SO question所覆蓋

如果您正在使用docker-compose您也可以檢查這個類似的線程

如果這些選項中的任何一個對您有用,或者您仍然有問題,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM