Explicit defaults for timestamp server option

Когда я пытаюсь запустить mySQL-сервер, я получаю сообщение:

[Warning] TIMESTAMP с неявным значением DEFAULT устарел. Используйте параметр —explicit_defaults_for_timestamp (см. документацию для более подробной информации).

Но как это сделать? Где?

Сначала вам ничего не нужно менять.

Те нестандартное поведение остаются по умолчанию для TIMESTAMP, но по состоянию на MySQL 5.6.6 устарели, и это предупреждение появляется при запуске

Теперь, если вы хотите перейти на новое поведение, вы должны добавить эту строку в свой my.cnf в разделе [mysqld].

Местоположение my.cnf(или других файлов конфигурации) варьируется от одной системы к другой. Если вы не можете найти ссылку на https://dev.mysql.com/doc/refman/5.7/en/option-files.html

На платформе Windows ,

1) Найдите конфигурационный файл my.ini . 2) В my.ini перейдите в раздел [mysqld]. 3) Добавьте "explicit_defaults_for_timestamp" без кавычек и сохраните изменение. 4) Запустите mysqld

Это сработало для меня ( Windows 7 Ultimate 32bit )

В командной строке mysql: SET explicit_defaults_for_timestamp=1

В Windows — откройте файл my.ini, находящийся в папке "C:ProgramDataMySQLMySQL Server 5.6", найдите "[mysqld]" (без кавычек) в следующей строке, добавьте clear_defaults_for_timestamp, а затем сохраните изменения.

В моей системе (Windows 8.1) проблема была связана с конфигурацией сервера. Сервер работал в первый раз, когда я его установил. Однако я забыл проверить вариант "работать как услуга", и это вызвало все проблемы. Я попробовал все возможные решения на SO, но ничего не получилось. Итак, я решил переустановить MySQL Workbench. При выполнении того же самого файла msi, который я ранее использовал для установки Workbench MySQL, я переконфигурировал сервер и разрешил запускать сервер в качестве службы.

Для меня это работало, чтобы добавить фразу "explicit_defaults_for_timestamp = ON" без кавычек в конфигурационный файл my.ini .

Убедитесь, что вы добавили эту фразу прямо под оператором [mysqld] в файле конфигурации.

Вы найдете my.ini под C:ProgramDataMySQLMySQL Server 5.7 , если вы выполнили установку MySQL по умолчанию.

Я использую Windows 8.1, и я использую эту команду

mysql_kfnp_yii2 | 2019-10-06T18:18:52.515584Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use —explicit_defaults_for_timestamp server option (see documentation for more details).
mysql_kfnp_yii2 | 2019-10-06T18:18:52.524840Z 0 [Note] mysqld (mysqld 5.7.27) starting as process 1 .
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541134Z 0 [Note] InnoDB: PUNCH HOLE support available
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541218Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541230Z 0 [Note] InnoDB: Uses event mutexes
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541238Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541246Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541254Z 0 [Note] InnoDB: Using Linux native AIO
mysql_kfnp_yii2 | 2019-10-06T18:18:52.541733Z 0 [Note] InnoDB: Number of pools: 1
mysql_kfnp_yii2 | 2019-10-06T18:18:52.542240Z 0 [Note] InnoDB: Using CPU crc32 instructions
mysql_kfnp_yii2 | 2019-10-06T18:18:52.545656Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
mysql_kfnp_yii2 | 2019-10-06T18:18:52.560108Z 0 [Note] InnoDB: Completed initialization of buffer pool
mysql_kfnp_yii2 | 2019-10-06T18:18:52.564822Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
mysql_kfnp_yii2 | 2019-10-06T18:18:52.611646Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!
mysql_kfnp_yii2 | 2019-10-06 18:18:52 0x7f0262309740 InnoDB: Assertion failure in thread 139648214013760 in file ut0ut.cc line 910
mysql_kfnp_yii2 | InnoDB: We intentionally generate a memory trap.
mysql_kfnp_yii2 | InnoDB: Submit a detailed bug report to bugs.mysql.com.
mysql_kfnp_yii2 | InnoDB: If you get repeated assertion failures or crashes, even
mysql_kfnp_yii2 | InnoDB: immediately after the mysqld startup, there may be
mysql_kfnp_yii2 | InnoDB: corruption in the InnoDB tablespace. Please refer to
mysql_kfnp_yii2 | InnoDB: dev.mysql.com/doc/refman/5.7/en/forcing-innodb-rec.
mysql_kfnp_yii2 | InnoDB: about forcing recovery.
mysql_kfnp_yii2 | 18:18:52 UTC — mysqld got signal 6 ;
mysql_kfnp_yii2 | This could be because you hit a bug. It is also possible that this binary
mysql_kfnp_yii2 | or one of the libraries it was linked against is corrupt, improperly built,
mysql_kfnp_yii2 | or misconfigured. This error can also be caused by malfunctioning hardware.
mysql_kfnp_yii2 | Attempting to collect some information that could help diagnose the problem.
mysql_kfnp_yii2 | As this is a crash and something is definitely wrong, the information
mysql_kfnp_yii2 | collection process might fail.
mysql_kfnp_yii2 |
mysql_kfnp_yii2 | key_buffer_size=8388608
mysql_kfnp_yii2 | read_buffer_size=131072
mysql_kfnp_yii2 | max_used_connections=0
mysql_kfnp_yii2 | max_threads=151
mysql_kfnp_yii2 | thread_count=0
mysql_kfnp_yii2 | connection_count=0
mysql_kfnp_yii2 | It is possible that mysqld could use up to
mysql_kfnp_yii2 | key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68196 K bytes of memory
mysql_kfnp_yii2 | Hope that’s ok; if not, decrease some variables in the equation.
mysql_kfnp_yii2 |
mysql_kfnp_yii2 | Thread pointer: 0x0
mysql_kfnp_yii2 | Attempting backtrace. You can use the following information to find out
mysql_kfnp_yii2 | where mysqld died. If you see no messages after this, something went
mysql_kfnp_yii2 | terribly wrong.
mysql_kfnp_yii2 | stack_bottom = 0 thread_stack 0x40000
mysql_kfnp_yii2 | mysqld(my_print_stacktrace+0x2c)[0x558d8bdb7dcc]
mysql_kfnp_yii2 | mysqld(handle_fatal_signal+0x479)[0x558d8b6e2099]
mysql_kfnp_yii2 | /lib/x86_64-linux-gnu/libpthread.so.0(+0x110e0)[0x7f0261ee60e0]
mysql_kfnp_yii2 | /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f0260672fff]
mysql_kfnp_yii2 | /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f026067442a]
mysql_kfnp_yii2 | mysqld(+0x62a713)[0x558d8b6b8713]
mysql_kfnp_yii2 | mysqld(_ZN2ib5fatalD1Ev+0x12d)[0x558d8bf8864d]
mysql_kfnp_yii2 | mysqld(+0xfa73b1)[0x558d8c0353b1]
mysql_kfnp_yii2 | mysqld(+0xfa79e8)[0x558d8c0359e8]
mysql_kfnp_yii2 | mysqld(_Z6fil_ioRK9IORequestbRK9page_id_tRK11page_size_tmmPvS8_+0x2b0)[0x558d8c03eba0]
mysql_kfnp_yii2 | mysqld(_Z13buf_read_pageRK9page_id_tRK11page_size_t+0xce)[0x558d8bff3c2e]
mysql_kfnp_yii2 | mysqld(_Z16buf_page_get_genRK9page_id_tRK11page_size_tmP11buf_block_tmPKcmP5mtr_tb+0x4aa)[0x558d8bfc2e6a]
mysql_kfnp_yii2 | mysqld(_Z31trx_rseg_get_n_undo_tablespacesPm+0x143)[0x558d8bf66ab3]
mysql_kfnp_yii2 | mysqld(+0x629887)[0x558d8b6b7887]
mysql_kfnp_yii2 | mysqld(_Z34innobase_start_or_create_for_mysqlv+0x2f3d)[0x558d8bf3394d]
mysql_kfnp_yii2 | mysqld(+0xd70f08)[0x558d8bdfef08]
mysql_kfnp_yii2 | mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x4f)[0x558d8b72cf6f]
mysql_kfnp_yii2 | mysqld(+0xb16d66)[0x558d8bba4d66]
mysql_kfnp_yii2 | mysqld(_Z40plugin_register_builtin_and_init_core_sePiPPc+0x2f0)[0x558d8bba7f70]
mysql_kfnp_yii2 | mysqld(+0x64c79e)[0x558d8b6da79e]
mysql_kfnp_yii2 | mysqld(_Z11mysqld_mainiPPc+0xc71)[0x558d8b6dc361]
mysql_kfnp_yii2 | /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f02606602e1]
mysql_kfnp_yii2 | mysqld(_start+0x2a)[0x558d8b6d2a3a]
mysql_kfnp_yii2 | The manual page at dev.mysql.com/doc/mysql/en/crashing.html contains
mysql_kfnp_yii2 | information that should help you find out what is causing the crash.
mysql_kfnp_yii2 exited with code 2

Моя конфигурация composer-compose.yml

Читайте также:  Что делать если кнопка включения не работает

Может кто-то пробовал ее решить? Писали что изменить данные в my.conf или my.ini хотя я не вижу такого файла.
Вот что хранит конфигурация mysql

When I try to start my mySQL server I get message:

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
Please use —explicit_defaults_for_timestamp server option (see documentation for more details).

But how to enable it? Where?

9 Answers 9

First you don’t need to change anything yet.

Those nonstandard behaviors remain the default for TIMESTAMP but as of MySQL 5.6.6 are deprecated and this warning appears at startup

Now if you want to move to new behaviors you have to add this line in your my.cnf in the [mysqld] section.

The location of my.cnf (or other config files) vary from one system to another. If you can’t find it refer to https://dev.mysql.com/doc/refman/5.7/en/option-files.html

In your mysql command line do the following:

On a Windows platform,

1) Find your my.ini configuration file.
2) In my.ini go to the [mysqld] section.
3) Add "explicit_defaults_for_timestamp" without quotes and save the change.
4) Start mysqld

This worked for me (windows 7 Ultimate 32bit)

For me it worked to add the phrase "explicit_defaults_for_timestamp = ON" without quotes into the config file my.ini .

Make sure you add this phrase right underneath the [mysqld] statement in the config file.

You will find my.ini under C:ProgramDataMySQLMySQL Server 5.7 if you had conducted the default installation of MySQL.

On Windows you can run server with option key, no need to change ini files.

In your mysql command line: SET explicit_defaults_for_timestamp=1

On my system (Windows 8.1), the problem was with the server configuration. The server worked for the first time when I installed it. However, I forgot to check the "run as a service" option and this caused all the problem. I tried all possible solutions available on SO but nothing worked. So, I decided to reinstall MySQL Workbench. On executing the same msi file that I earlier used to install MySQL workbench, I reconfigured the server and allowed to run the server as a service.

Читайте также:  Файловый вирус поражает загрузочные сектора дисков

On Windows — open my.ini file, present at "C:ProgramDataMySQLMySQL Server 5.6", find "[mysqld]" (without quotes) in next line add explicit_defaults_for_timestamp and then save the changes.

I’m Using Windows 8.1 and I use this command

and it works fine..

Not the answer you’re looking for? Browse other questions tagged mysql or ask your own question.

Linked

Related

Hot Network Questions

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2020 Stack Exchange Inc; user contributions licensed under cc by-sa 4.0 with attribution required. rev 2020.1.13.35763