UbuntuでMySQLテーブル名の大文字と小文字を区別しないようにするにはどうすればよいですか?


44

Ubuntu 13.10とMySQL 5.6を使用していますが、デフォルトではUbuntu(およびその他の* nix環境)でデータベース名とテーブル名の大文字と小文字が区別されることを知っています。

次に、MySQL をUbuntuで大文字と小文字を区別ないで動作させたいと思います。

出来ますか?はいの場合、どうすればいいですか?

回答:


51

ターミナルを開いて編集 /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

section.addの下[mysqld]

lower_case_table_names = 1

mysqlを再起動します

sudo /etc/init.d/mysql restart

それからここで確認してください:

mysqladmin -u root -p variables

2
使用できない場合は、このセクションを追加する必要があります。そうしないと、再起動は失敗します。
アレクサンダー

10

lower_case_table_names既存のテーブルを使用してDBを変更した場合、MySQL>テーブルは存在しません。しかし、それは起こる可能性があります(または、そうすべきです)

この回答に対するコメントは、この場合に役立ちました。

値を元に戻し、データベースを再起動し、テーブルをエクスポートして、値を1に戻し、データベースを再起動し、テーブルを再インポートして、すべてが再び機能しました。


5

この問題は、Doctrineが大文字/キャメルケーステーブル名を生成し、MySQLがそれらを小文字として保存するという苦痛を引き起こしていました!

変更my.cnfして追加することで解決しました

lower_case_table_names = 1

[mysqld]セクションの下

my.cnfは次の場所にあります。

  • LAMPP / XAMPP ...の下で:

    /opt/lampp/etc/my.cnf

  • スタンドアロンのmysqlサーバー:

    /etc/mysql/my.cnf

その後、MySQLサーバーを再起動すると、すべてが正常になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.