explicit_defaults_for_timestamp를 활성화하려면 어떻게 해야 합니까?
mySQL 서버를 시작하려고 하면 다음과 같은 메시지가 나타납니다.
[경고] 암묵적인 DEFAULT 값을 가진 TIMESTAMP는 권장되지 않습니다.
--explicit_defaults_for_timestamp 서버 옵션을 사용하십시오(자세한 내용은 설명서를 참조하십시오).
나는 다음과 같은 답을 찾는다.
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp
하지만 어떻게 활성화 할 수 있을까요?어디?
우선 아직 아무것도 바꿀 필요가 없습니다.
이러한 비표준 동작은 TIMESTAMP의 기본 동작으로 유지되지만 MySQL 5.6.6에서는 권장되지 않으며 시작 시 이 경고가 표시됩니다.
새로운 동작으로 이행하려면 , 다음의 행을 추가할 필요가 있습니다.my.cnf
[mysqld] 섹션으로 이동합니다.
explicit_defaults_for_timestamp = 1
my.cnf(또는 다른 설정 파일)의 위치는 시스템마다 다릅니다.찾을 수 없는 경우는, https://dev.mysql.com/doc/refman/5.7/en/option-files.html 를 참조해 주세요.
mysql 명령줄에서 다음을 수행합니다.
mysql> SHOW GLOBAL VARIABLES LIKE '%timestamp%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| explicit_defaults_for_timestamp | OFF |
| log_timestamps | UTC |
+---------------------------------+-------+
2 rows in set (0.01 sec)
mysql> SET GLOBAL explicit_defaults_for_timestamp = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GLOBAL VARIABLES LIKE '%timestamp%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| explicit_defaults_for_timestamp | ON |
| log_timestamps | UTC |
+---------------------------------+-------+
2 rows in set (0.00 sec)
Windows 플랫폼에서는
- my.ini 구성 파일을 찾습니다.
- my.ini에서
[mysqld]
부분. - 따옴표 없이 추가하고 변경 내용을 저장합니다.
- mysqld 시작
이것은 나에게 효과가 있었다(Windows 7 Ultimate 32비트)
저는 따옴표 없이 "syslog_for_syslog=ON"이라는 문구를 구성 파일에 추가했습니다.my.ini
.
컨피규레이션파일의 [mysqld]문 바로 아래에 이 문구를 추가해 주세요.
찾을 수 있을 것이다my.ini
아래C:\ProgramData\MySQL\MySQL Server 5.7
기본 MySQL 설치를 수행한 경우.
Windows 에서는, ini 파일을 변경할 필요 없이, 옵션 키를 사용해 서버를 실행할 수 있습니다.
"C:\mysql\bin\mysqld.exe" --explicit_defaults_for_timestamp=1
mysql 명령줄에서 다음을 수행합니다.SET explicit_defaults_for_timestamp=1
시스템(Windows 8.1)에서는 서버 구성에 문제가 있었습니다.처음 설치했을 때 서버가 작동했어요.그러나 "서비스로 실행" 옵션을 선택하지 않아 모든 문제가 발생했습니다.SO에 대해 가능한 모든 해결책을 시도해 봤지만 소용이 없었습니다.그래서 MySQL Workbench를 다시 설치하기로 했습니다.이전에 MySQL 워크벤치를 설치할 때 사용한 것과 동일한 msi 파일을 실행할 때 서버를 재구성하고 서버를 서비스로 실행할 수 있도록 했습니다.
Windows의 경우 - "C:"에 있는 my.ini 파일을 엽니다.\ProgramData\MySQL\MySQL Server 5.6", 다음 줄에 있는 "mysqld" (따옴표 없음)를 찾아 explicit_defaults_for_timestamp를 추가한 후 변경 내용을 저장합니다.
Windows 8.1을 사용하고 있으며 이 명령을 사용합니다.
c:\wamp\bin\mysql\mysql5.6.12\bin\mysql.exe
대신
c:\wamp\bin\mysql\mysql5.6.12\bin\mysqld
그리고 잘 작동한다구요..
언급URL : https://stackoverflow.com/questions/15701636/how-to-enable-explicit-defaults-for-timestamp
'programing' 카테고리의 다른 글
Java 프로젝트의 Vagrant: VM에서 컴파일할 것인가, 아니면 호스트에서 컴파일할 것인가? (0) | 2023.01.01 |
---|---|
Python: ValueError: 인덱스 1에서 지원되지 않는 형식 문자 ''(0x27) (0) | 2023.01.01 |
INSER JOIN / LEFT JOIN 우선순위 및 그룹 강제 적용 (0) | 2023.01.01 |
SQL을 사용하여 json 데이터 목록 필드를 열로 변환 (0) | 2023.01.01 |
DateTime을 문자열 PHP로 변환 (0) | 2023.01.01 |