web-dev-qa-db-ja.com

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

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

MySQLをUbuntuで大文字と小文字を区別しないとして機能させる必要があります。

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

46
java baba

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

Sudo nano /etc/mysql/my.cnf

[mysqld] section.addの下:

lower_case_table_names = 1

Mysqlを再起動します

Sudo /etc/init.d/mysql restart

次に、ここで確認してください。

mysqladmin -u root -p variables
54
Rajneesh Sharma

既存のテーブルがあるDBでlower_case_table_namesを変更した場合 MySQL> Table does not exist。but it do(or it should) が発生する可能性があります。

この回答へのコメント この場合、私を助けました:

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

Doctrine生成されたCapital/CamelCaseテーブル名とMySQLがそれらを小文字として保存しました!

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

lower_case_table_names = 1

[mysqld]セクションの下

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

  • lAMPP/XAMPP ...:

    /opt/lampp/etc/my.cnf

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

    /etc/mysql/my.cnf

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

5