0

と私はkubernetesファイルを生成するyo jhipster:kubernetesを使用しています、私はMySQL大文字小文字を区別しません作るためにMySQLためlower_case_table_names=1を設定します。のMySQLはlower_case_table_names = 1 Kubernetes YMLファイル、MySQLサーバの起動エラー

 2016-10-09 10:08:35 1 [Note] Plugin 'FEDERATED' is disabled. mysqld: 
    Table 'mysql.plugin' doesn't exist 2016-10-09 10:08:35 1 
    [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 2016-10-09 10:08:35 1 
    [Note] InnoDB: Using atomics to ref count buffer pool pages 2016-10-09 10:08:35 1 [Note] InnoDB: The InnoDB memory heap is disabled 2016-10-09 10:08:35 1 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2016-10-09 10:08:35 1 [Note] 
    InnoDB: Memory barrier is not used 2016-10-09 10:08:35 1 [Note] InnoDB: Compressed tables use zlib 1.2.7 2016-10-09 10:08:35 1 [Note] InnoDB: Using Linux native AIO 2016-10-09 10:08:35 1 
[Note] InnoDB: Using CPU crc32 instructions 2016-10-09 10:08:35 1 
[Note] InnoDB: Initializing buffer pool, size = 128.0M 2016-10-09 10:08:35 1 
[Note] InnoDB: Completed initialization of buffer pool 2016-10-09 10:08:35 1 
[Note] InnoDB: Highest supported file format is Barracuda. 2016-10-09 10:08:35 1 
[Note] InnoDB: Log scan progressed past the checkpoint lsn 49463 2016-10-09 10:08:35 1 
[Note] InnoDB: Database was not shutdown normally! 2016-10-09 10:08:35 1 
[Note] InnoDB: Starting crash recovery. 2016-10-09 10:08:35 1 [Note] InnoDB: Reading tablespace information from the .ibd files... 2016-10-09 10:08:35 1 
[Note] InnoDB: Restoring possible half-written data pages 2016-10-09 10:08:35 1 
[Note] InnoDB: from the doublewrite buffer... InnoDB: Doing recovery: scanned up to log sequence number 1600607 2016-10-09 10:08:35 1 
[Note] InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percent: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: Apply batch completed 2016-10-09 

10:08:35 1 [Note] InnoDB: 128 rollback segment(s) are active. 2016-10-09 10:08:35 1 [Note] InnoDB: Waiting for purge to start 2016-10-09 10:08:35 1 

[Note] InnoDB: 5.6.22 started; log sequence number 1600607 2016-10-09 10:08:35 1 [Note] Server hostname (bind-address): '*'; port: 3306 2016-10-09 10:08:35 1 [Note] IPv6 is available. 2016-10-09 10:08:35 1 
[Note] - '::' resolves to '::'; 2016-10-09 10:08:35 1 [Note] Server socket created on IP: '::'. 2016-10-09 10:08:35 1 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 

lower_case_table_names=1を設定するために、どのように任意のアイデアを - :ファイルの下、私は原因ファイル内のコマンドノードへのLinuxマシン上MySQL起動時にエラーの下に取得しています開始されていないコマンド

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata 
name: app-mysql 
spec: 
replicas: 1 
template: 
metadata: 
labels: 
app: app-mysql 
spec: 
volumes: 
    - name: data 
    emptyDir: {} 
    containers: 
    - name: mysql 
    image: mysql:5.6.22 
    env: 
    - name: MYSQL_USER 
     value: root 
    - name: MYSQL_ALLOW_EMPTY_PASSWORD 
     value: 'yes' 
    - name: MYSQL_DATABASE 
     value: app 
    command: 
    - mysqld 
    - --lower_case_table_names=1 
    - --skip-ssl 
    ports: 
    - containerPort: 3306 
    volumeMounts: 
    - name: data 
     mountPath: /var/lib/mysql/ 
apiVersion: v1 
kind: Service 
metadata: 
name: app-mysql 
spec: 
selector: 
app: app-mysql 
ports: 
port: 3306 

MySQLによって生成されますkubernetes ymlファイルですか?

+0

'コマンドの下のオプションの字下げは間違っているようです。 –

+0

コピー貼り付けのために間違っています。しかし私のファイルでは、correct.iは質問 –

答えて

1

commandの代わりにargsをお試しください。言うことです 、

args: 
- --lower_case_table_names=1 
- --skip-ssl 

それはまだ動作しない場合は、どのように設定ボリュームの作成について? mysqlのポッド上のYAMLファイルでは、あなたが

spec: 
     containers: 
     - name: mysql 
     image: mysql:5.6 
     imagePullPolicy: IfNotPresent 
     volumeMounts: 
     - mountPath: /var/lib/mysql 
      name: data 
     - mountPath: /etc/mysql/conf.d/ 
      name: config 
      readOnly: true 
     ports: 
     - containerPort: 3306 
     env: 
     - name: MYSQL_ALLOW_EMPTY_PASSWORD 
      value: "yes" 
     volumes: 
     - name: data 
     hostPath: 
      path: /var/lib/data 
     - name: config 
     configMap: 
      name: mysql-config 

のように定義することができます。そして、あなたが次に

apiVersion: v1 
kind: ConfigMap 
metadata: 
    name: mysql-config 
data: 
    my.conf: | 
    [mysqld] 
    lower_case_table_names=1 
    skip_ssl 

kuberenetes上commandまたはargs値の変更なしとして書かmysql-configをロードすることによって、追加の設定パラメータを渡すことができますyamlが必要です。少なくとも現地の開発環境では、後者の方法でinnodb_file_format=barracudaと変更することができます。

+0

を完璧に編集しました、ありがとう –

関連する問題