web-dev-qa-db-ja.com

MySQLでshow_compatibility_56を常にONに保つ

MySQLでシステム変数「show_compatibility_56」をONに設定する必要がありました。それで、コマンドset global show_compatibility_56 = on;を実行しましたが、機能しましたが、MySQLサーバーを停止してから再起動すると、この変数がOFFに戻ることに気付きました。それを維持する方法についてのヒント常にオンサーバーを再起動した場合でも?

11
Dhoha

Laravel Homestead(Vagrant))ボックス(MySql Ver 14.14 Distrib 5.7.17)を使用しています。

私はホームステッドにSSHで接続して実行する必要がありました:

echo "[mysqld]
show_compatibility_56 = ON
performance_schema" | Sudo tee -a /etc/mysql/conf.d/mysql.cnf  >/dev/null    
Sudo service mysql restart

(vimのオープンをスキップする方法を示す Mark Reed に感謝します。)

古いバージョン:

Sudo vim /etc/mysql/conf.d/mysql.cnf

次に、このセクションを追加しました:

[mysqld]
show_compatibility_56 = ON
performance_schema

ここやウェブの他の場所で他の回答が[mysqld]ではなく[mysql]の下にある必要があると指定しておらず、また、 MySqlサービス:

Sudo service mysql restart
18
Ryan

この変数の設定は、Linuxでは構成ファイルmy.cnfに、Windowsではmy.iniに保存する必要があります。

2
Zafar Malik

これを永続的にするには、他のすべての変数に対して行ったように、この変数をMySQLの構成ファイルに追加する必要があります。

show_compatibility_56 = ON

Linuxベースのシステムの場合:ファイル名はmy.cnfであり、デフォルトの場所は/ etc/my.cnf

Windowsベースのシステムの場合:ファイル名はmy.iniであり、デフォルトの場所以下のコマンドで確認できるWindowsのmysqlデータディレクトリです。

'datadir'のような変数を表示します。

1
Aman Aggarwal

Zafarが既に指摘したように、構成ファイルで変数を設定して値を保存できます。

また、これは現在廃止されていることにも注意してください。 manual は言う:

show_compatibility_56は、将来のMySQLリリースで削除される廃止予定のシステムおよびステータス変数情報ソースの制御を許可することを唯一の目的とするため、廃止予定です。これらのソースが削除されると、show_compatibility_56には目的がなく、削除されます。

0
Rahul Tripathi

MacのHombrewを介してMySQLをインストールした場合、デフォルトではmy.cnfはありません。 /etc/my.cnfで作成し、@ Ryanの回答からのテキストを追加しました。

[mysqld]
show_compatibility_56 = ON
performance_schema

...そして、MySQLを再起動しました(古いバージョンの5.7を使用しています):

$ brew services restart [email protected]

これでうまくいきました。

0
Elliot Larson