<p>I am using <code>yo jhipster:kubernetes</code> to generate kubernetes file, i want to set <code>lower_case_table_names=1</code> for <code>MySQL</code> to make <code>MySQL</code> case insensitive. Below File is generated by command</p>

<pre><code>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
</code></pre>

<p><code>MySQL</code> is not starting i am getting below error on <code>MySQL</code> startup on linux machine due to command node in file:-</p>

<pre><code>       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
</code></pre>

<p>any idea how to set <code>lower_case_table_names=1</code> in kubernetes yml file?</p>

<p>Could you try using <code>args</code> instead of <code>command</code>?
That is to say,</p>

<pre><code>args:
- --lower_case_table_names=1
- --skip-ssl
</code></pre>

<p>If it still doesn't work, how about creating a config volume?
In your yaml file on mysql pod, you can define like</p>

<pre><code>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
</code></pre>

<p>And then you can pass additional config parameters by loading <code>mysql-config</code> written as </p>

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

<p>Then no modification of <code>command</code> or <code>args</code> values on kuberenetes yaml required. At least on our local development environment, we can change as  <code>innodb_file_format=barracuda</code> in the latter way.</p>
