1

CentOS LinuxにMysql 5.6をインストールしましたデフォルトでは、SQlモードを厳密に設定しました

SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| | @@GLOBAL.sql_mode |
+--------------------------------------------+
| | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |

 SELECT @@SESSION.sql_mode;
+--------------------------------------------+
| | @@SESSION.sql_mode |
+--------------------------------------------+
| | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+

コマンドライン経由で sql_mode を root ユーザーからコマンド経由で none に変更しました

SET SESSION sql_mode = '';
SET GLOBAL sql_mode = '';

この後、コマンドの上にコマンドを実行したところ、表示されました

SELECT @@SESSION.sql_mode;
+--------------------+
| | @@SESSION.sql_mode |
+--------------------+
| | | |
+--------------------+
セットで 1 行 (0.00 秒)

mysql> SELECT @@GLOBAL.sql_mode;
+---------------------+
| | @@GLOBAL.sql_mode |
+---------------------+
| | | |
+---------------------+
セットで 1 行 (0.00 秒)

しかし、Mysql Server を再起動すると、再び Strict Mode を設定します。

SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| | @@GLOBAL.sql_mode |
+--------------------------------------------+
| | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |

 SELECT @@SESSION.sql_mode;
+--------------------------------------------+
| | @@SESSION.sql_mode |
+--------------------------------------------+
| | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+

my.cnf ファイルに mysql-mode="" も追加しましたが、mysql を再起動しても結果は同じでした

4

3 に答える 3

3

my.cnf ファイルに追加します。

sql_mode = ""

次にmysqlを再起動します

これは次のようになります。

user        = nobody
port        = 3306
socket      = /opt/lampp/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
open_files_limit = 50k
sql_mode = ""
于 2013-05-17T07:49:06.257 に答える