2013-03-29 37 views
17

Khi tôi cố gắng khởi động máy chủ mySQL của tôi, tôi nhận được tin nhắn:Làm cách nào để bật clear_defaults_for_timestamp?

[Cảnh báo] dấu thời gian có giá trị DEFAULT ngầm bị phản đối. Vui lòng sử dụng tùy chọn máy chủ --explicit_defaults_for_timestamp (xem tài liệu để biết thêm chi tiết).

Tôi tìm thấy câu trả lời về:
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

Nhưng làm thế nào kích hoạt nó? Ở đâu?

+0

xem http://dev.mysql.com/doc/refman/5.6/en/server-default-configuration-file.html – didierc

Trả lời

45

Trước tiên, bạn không cần phải thay đổi bất kỳ điều gì.

Những hành vi không chuẩn vẫn là mặc định cho dấu thời gian nhưng đến MySQL 5.6.6 đang bị phản đối và cảnh báo này xuất hiện lúc khởi động

Bây giờ nếu bạn muốn di chuyển đến new behaviors bạn phải thêm dòng này trong số my.cnf của bạn trong phần [mysqld].

explicit_defaults_for_timestamp = 1 

Vị trí của my.cnf (hoặc các tệp cấu hình khác) thay đổi từ hệ thống này sang hệ thống khác. Nếu bạn không thể tìm thấy nó đề cập đến https://dev.mysql.com/doc/refman/5.7/en/option-files.html

+0

Theo https://dev.mysql.com/doc/refman/5.6/ vi/using-system-variables.html bạn phải đặt giá trị boolean bằng cách sử dụng 0/1 trong một tệp tùy chọn. (Tôi muốn chỉnh sửa bài đăng nhưng chỉ được phép nếu bạn chỉnh sửa ít nhất 6 ký tự.) – rudolfson

+0

Chỉ cần làm rõ, các giá trị True/False hoạt động cũng như 1/0. –

+0

tôi có một tập tin default.ini của tôi và sau khi thêm clear_defaults_for_timestamp = TRUE nó vẫn đưa ra cùng một cảnh báo.What shoud i do.Tôi đang sử dụng windows 8 64 bit –

8

Trên một nền tảng của Windows,

1) Tìm tập tin cấu hình my.ini của bạn.
2) Trong my.ini chuyển đến phần [mysqld].
3) Thêm "explicit_defaults_for_timestamp" không có dấu ngoặc kép và lưu thay đổi.
4) Bắt đầu mysqld

này đã làm việc cho tôi (windows 7 Ultimate 32bit)

+1

này không làm việc cho tôi trên windows 8 64 bit: ( –

+0

trên cửa sổ của tôi 8.1 64 bit không hoạt động quá ... :( –

+0

nó có thể couldnt làm việc - đối số bị thiếu -> xem https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp bạn phải thêm "= true/false" – Bernhard

0

Tôi đang dùng Windows 8.1 và tôi sử dụng lệnh này

c:\wamp\bin\mysql\mysql5.6.12\bin\mysql.exe 

thay vì

c:\wamp\bin\mysql\mysql5.6.12\bin\mysqld 

và nó hoạt động tốt ..

1

Trên hệ thống của tôi (Windows 8.1), sự cố xảy ra với cấu hình máy chủ. Máy chủ đã làm việc lần đầu tiên khi tôi cài đặt nó. Tuy nhiên, tôi quên kiểm tra tùy chọn "chạy dưới dạng dịch vụ" và điều này gây ra tất cả sự cố. Tôi đã thử tất cả các giải pháp có thể có trên SO nhưng không có gì làm việc. Vì vậy, tôi quyết định cài đặt lại MySQL Workbench. Khi thực thi cùng một tệp msi mà trước đây tôi đã sử dụng để cài đặt bàn làm việc MySQL, tôi đã cấu hình lại máy chủ và cho phép chạy máy chủ như một dịch vụ.

+0

Nhấp chuột phải vào Trình thông báo của MySQL và khởi chạy Trình cài đặt, định cấu hình lại máy chủ của tôi làm dịch vụ đã hoạt động. Cảm ơn – House

+0

Rất vui được trợ giúp :) – BajajG

0

Trên Windows, bạn có thể chạy máy chủ bằng phím tùy chọn, không cần thay đổi tệp ini.

"C:\mysql\bin\mysqld.exe" --explicit_defaults_for_timestamp=1

1

Trên Windows - mở tập tin my.ini, hiện tại "C: \ ProgramData \ MySQL \ MySQL Server 5.6", tìm "[mysqld]" (không có dấu ngoặc kép) trong dòng tiếp theo thêm explicit_defaults_for_timestamp và sau đó lưu các thay đổi.

1

Trong dòng lệnh mysql của bạn: SET explicit_defaults_for_timestamp=1

0

Đối với tôi nó làm việc để thêm cụm từ "explicit_defaults_for_timestamp = ON" mà không có dấu ngoặc kép vào tập tin cấu hình my.ini.

Đảm bảo bạn thêm cụm từ này ngay bên dưới câu lệnh [mysqld] trong tệp cấu hình.

Bạn sẽ tìm thấy my.ini dưới C:\ProgramData\MySQL\MySQL Server 5.7 nếu bạn đã tiến hành cài đặt mặc định của MySQL.

Các vấn đề liên quan