Удалите флаг NO_ZERO_DATE из mysql workbench, чтобы SuiteCRM работал правильно - PullRequest
0 голосов
/ 19 сентября 2018

Мне нужно удалить флаг NO_ZERO_DATE из MySQL Workbench.Это мешает SuiteCRM работать правильно.Например, удаляет мою способность создавать кампании и выдает многочисленные ошибки.

К сожалению, я являюсь пользователем root и использую свой SSH-клиент, я могу вводить команды, но это BASH, который использует немного другие команды, которые я нахожу в Интернете.Я не уверен, что именно печатать, чтобы удалить флаг NO_ZERO_DATE, и я не уверен, должен ли я полностью удалить строгий режим, который выглядит так.

Я использую GNU bash, версия4.2.46 (2) -релиз (x86_64-redhat-linux-gnu) "и команды немного отличаются Я работаю в SQL в MYSQLworkbench 6.3 CE

Я знаю этоВероятно, это очень простой вопрос для кого-то с правильными знаниями, мне просто нужно точно знать, что набирать, чтобы убрать флаг.

New action with error
Ran [root@server ~]# mysqld --sql mode="NO_ENGINE_SUBSTITUTION"

got 
[root@server ~]# mysqld --sql mode="NO_ENGINE_SUBSTITUTION"
2018-09-19T13:58:48.915959Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-09-19T13:58:48.917012Z 0 [Note] mysqld (mysqld 5.7.23) starting as process 23382 ...
2018-09-19T13:58:48.918011Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

2018-09-19T13:58:48.918039Z 0 [ERROR] Aborting

2018-09-19T13:58:48.918071Z 0 [Note] Binlog end
2018-09-19T13:58:48.918114Z 0 [Note] mysqld: Shutdown complete

Tried root @ server ~] # mysqld --sql mode = "NO_ZERO_DATE "

[    root@server ~]# mysqld --sql mode="NO_ZERO_DATE"
    2018-09-19T14:00:18.665452Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-09-19T14:00:18.666463Z 0 [Note] mysqld (mysqld 5.7.23) starting as process 23484 ...
    2018-09-19T14:00:18.667446Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

    2018-09-19T14:00:18.667490Z 0 [ERROR] Aborting

    2018-09-19T14:00:18.667508Z 0 [Note] Binlog end
    2018-09-19T14:00:18.667551Z 0 [Note] mysqld: Shutdown complete

1 Ответ

0 голосов
/ 19 сентября 2018

Вы должны изменить значение по умолчанию sql_mode для mysql.

Обычно значение по умолчанию имеет установленный параметр NO_ZER_DATE, вы можете просто выбрать этот параметр, чтобы установить его на:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Вы можете сделать это либо в конфигурационном файле mysql (это то, что вы хотите, чтобы suitecrm работал нормально), либо для сеанса, выполняющего что-то вроде SET sql_mode = 'NO_ENGINE_SUBSTITUTION' ; (эта команда является запросом mysql)

Найдите ваш конфигурационный файл mysql, в Ubuntu находится в /etc/mysql/conf.d/mysql.cnf Добавьте строку sql-mode примерно так:

[mysqld]
sql-mode="NO_ENGINE_SUBSTITUTION"
...