# \[ERROR\] \[MY-011087\] \[Server\] Different lower\_case\_table\_names ON PERCONA CLUSTER - Oracle Linux 8

**URL:** <https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181>\
**Category:** Percona XtraDB Cluster 8.x\
**Created:** [February 1, 2024, 5:37pm UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181 "2024-02-01T17:37:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sariurgo15](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/sariurgo15/32/14955_2.png) [@sariurgo15](https://forums.percona.com/u/sariurgo15)\
**Post date:** [February 1, 2024, 5:37pm UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181/1 "2024-02-01T17:37:12Z")

</div>

Hi.  
Already set up a 3 nodes Percona XtraDB Cluster successfully. But developers can’t query/execute objects due to an case sensitive problem.

Trying to change the parameter to modify case sensitive from **lower\_case\_table\_names=0** to **lower\_case\_table\_names=1** but the instance can’t start and log the next error.

```auto
2023-12-22T22:09:04.281621Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
2023-12-22T22:09:04.282150Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2023-12-22T22:09:04.282234Z 0 [ERROR] [MY-010119] [Server] Aborting

```

I’m asking for the procedure to reinitialize data directory of a MySQL Percona XtraDB Cluster v8 on Oracle Linux 8. I’d try to reinitialize data directory only in one node, but didn’t work. I had to rollback.

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [February 1, 2024, 6:38pm UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181/2 "2024-02-01T18:38:12Z")

</div>

Hello @sariurgo15,  
I would try using **lower\_case\_table\_names=2** which works like =0 but comparisons are evaluated as lowercase. This might work. If it doesn’t then you will have to erase the datadir, init a new mysql with correct parameters and then perform a logical dump/restore.

---

<div class="post-metadata">

**Author:** ![sariurgo15](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/sariurgo15/32/14955_2.png) [@sariurgo15](https://forums.percona.com/u/sariurgo15)\
**Post date:** [February 2, 2024, 11:43pm UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181/3 "2024-02-02T23:43:18Z")

</div>

Thank you @matthewb. I did try the value 2 as you suggest. Effectively the instance starts, but the behavior is not what we need.

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [February 3, 2024, 2:27am UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181/4 "2024-02-03T02:27:55Z")

</div>

Use this behavior to start MySQL, then use [mydumper](https://github.com/mydumper/mydumper) to make a logical dump of your data. Init a brand new mysql with the value of lower case that you need and then import the dump. (ie: you can’t fix this with a simple config change; you will have to reload your dataset)

---

<div class="post-metadata">

**Author:** ![sariurgo15](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/sariurgo15/32/14955_2.png) [@sariurgo15](https://forums.percona.com/u/sariurgo15)\
**Post date:** [February 7, 2024, 4:03pm UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181/5 "2024-02-07T16:03:44Z")

</div>

Thanks @matthewb. Already solved problem.

---

<div class="post-metadata">

**Author:** ![sariurgo15](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/sariurgo15/32/14955_2.png) [@sariurgo15](https://forums.percona.com/u/sariurgo15)\
**Post date:** [February 7, 2024, 4:09pm UTC](https://forums.percona.com/t/error-my-011087-server-different-lower-case-table-names-on-percona-cluster-oracle-linux-8/28181/6 "2024-02-07T16:09:37Z")

</div>

I post my solution for a 3 nodes Percona Cluster.  
This is what worked for me.

First of all, make a full mysqldump of your databases (just in case).

**NODE 1**

```auto
$ systemctl stop mysql
$ cd /var/lib
$ cp -rp mysql /backupdir # backup
$ rm -rf mysql
$ mkdir mysql
$ chown mysql:mysql mysql
$ chmod 750 mysql

```

OPTIONAL: Trunc logs

```auto
`$ :> /var/log/mysqld.log`

$ vim /etc/my.cnf
  --> lower_case_table_names=1

```

Initialize data directory with additional parameters:

```auto
$ mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --console
$ ls -l /var/lib/mysql
$ more /var/log/mysqld.log

```

Start mysql services in bootstrap mode

```auto
$ systemctl start mysql@bootstrap.service

$ mysql -uroot --skip-password
  --> reset root password

mysql> alter user 'root'@'localhost' identified by 'xxxxxxxxxx';
mysql> flush privileges;
mysql> exit;

```

**NODE 2**

```auto
$ systemctl stop mysql
$ cd /var/lib
$ cp -rp mysql /backupdir # backup
$ rm -rf mysql
$ mkdir mysql
$ chown mysql:mysql mysql
$ chmod 750 mysql

```

OPTIONAL: Trunc logs

```auto
$ :> /var/log/mysqld.log

$ vim /etc/my.cnf
  --> lower_case_table_names=1

```

Startup mysql service (and initialize directory for this node):

```auto
$ systemctl start mysql
$ ls -l /var/lib/mysql
$ more /var/log/mysqld.log

```

**NODE 3**

```auto
$ systemctl stop mysql
$ cd /var/lib
$ cp -rp mysql /backupdir # backup
$ rm -rf mysql
$ mkdir mysql
$ chown mysql:mysql mysql
$ chmod 750 mysql

```

OPTIONAL: Trunc logs

```auto
$ :> /var/log/mysqld.log

$ vim /etc/my.cnf
  --> lower_case_table_names=1

```

Startup mysql service (and initialize directory for this node):

```auto
$ systemctl start mysql
$ ls -l /var/lib/mysql
$ more /var/log/mysqld.log

```

**NODO 1**

Restart services in normal mode (from bootstrap mode)

```auto
$ systemctl stop mysql@bootstrap.service
$ systemctl start mysql

```

REFERENCES:

[https://dev.mysql.com/doc/mysql-installation-excerpt/8.3/en/data-directory-initialization.html](https://dev.mysql.com/doc/mysql-installation-excerpt/8.3/en/data-directory-initialization.html)

> **[Procedure to change lower\_case\_table\_names = 1](https://deepakmysqldba.wordpress.com/2022/04/08/procedure-to-change-lower_case_table_names-1/)**
>
> MariaDB and MySQL table name is case sensitive if running on case-sensitive systems such as Linux and Unix. Windows, however, does not enforce case sensitivity fo…

[https://dev.mysql.com/doc/mysql-installation-excerpt/8.3/en/data-directory-initialization.html$data-directory-initialization-procedure](https://dev.mysql.com/doc/mysql-installation-excerpt/8.3/en/data-directory-initialization.html$data-directory-initialization-procedure)

> **[Skeema.io: Understanding MySQL's lower\_case\_table\_names](https://www.skeema.io/blog/2022/06/07/lower-case-table-names/)**
>
> MySQL and MariaDB schema management system

[https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html$sysvar\_lower\_case\_table\_names](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html$sysvar_lower_case_table_names)
