Bagaimana cara membuat case nama tabel MySQL tidak sensitif di Ubuntu?

44

Saya menggunakan Ubuntu 13.10 dan MySQL 5.6 dan saya tahu nama database dan nama tabel peka huruf besar-kecil di Ubuntu (dan beberapa lingkungan * nix lainnya) secara default.

Sekarang, saya ingin membuat MySQL berfungsi sebagai case-sensitive di Ubuntu.

Apa itu mungkin? Jika ya, bagaimana saya bisa melakukannya?

Ali Razeghi
sumber

Jawaban:

51

Buka terminal dan edit /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

Di bawah bagian tersebut. [mysqld]Tambahkan:

lower_case_table_names = 1

Mulai ulang mysql

sudo /etc/init.d/mysql restart

Kemudian periksa di sini:

mysqladmin -u root -p variables
Rajneesh Sharma
sumber
2
Anda harus menambahkan bagian ini jika tidak tersedia. Kalau tidak, restart akan gagal.
alexander
10

Jika Anda mengubah lower_case_table_namesdalam DB dengan tabel yang ada MySQL> Table tidak ada. Tapi itu memang (atau seharusnya) bisa terjadi.

Komentar untuk jawaban ini membantu saya dalam kasus ini:

Saya mengembalikan nilainya, me-restart database, mengekspor tabel, mengatur nilainya kembali menjadi 1, me-restart database, mengimpor kembali tabel dan semuanya bekerja kembali.

G.Broser berkata Reinstate Monica
sumber
5

Masalah ini menyebabkan rasa sakit bagi saya, di mana Doctrine menghasilkan nama tabel modal / CamelCase dan MySQL menyimpannya sebagai huruf kecil!

Itu diselesaikan dengan mengubah my.cnfdan menambahkan

lower_case_table_names = 1

di bawah bagian [mysqld]

my.cnf dapat ditemukan:

  • di bawah LAMPP / XAMPP ...:

    /opt/lampp/etc/my.cnf

  • server mysql berdiri sendiri:

    /etc/mysql/my.cnf

Setelah itu restart server MySQL, dan semuanya akan beres.

Doried Abd-Allah
sumber