Mysql: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Новая страница: «==Как запустить в bash скрипте команды mysql и mysqldump без ввода пароля== #создаем алиас<pre>mysql_config_…»)
 
Строка 3: Строка 3:
 
#А потом в самом скрипте<pre>mysqldump --login-path=alias_root name_base > file_dump.sql</pre>
 
#А потом в самом скрипте<pre>mysqldump --login-path=alias_root name_base > file_dump.sql</pre>
 
#Или<pre>mysql --login-path=alias_root name_base < file_dump.sql</pre>
 
#Или<pre>mysql --login-path=alias_root name_base < file_dump.sql</pre>
 +
==После переноса базы с сервера под Linux на сервер под Windows появились ошибки==
 +
===Проблема===
 +
При добавлении или изменении поля типа INT или DATETIME, появились ошибки, что поле не может быть пустым.
 +
===Решение===
 +
Оказывается при установке сервера под Windows в my.ini прописывается параметр.
 +
<pre>sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"</pre>
 +
Можно посмотреть если выполнить запрос.
 +
<pre>SELECT @@GLOBAL.sql_mode</pre>
 +
Меняем в my.ini на строку
 +
<pre>sql-mode="NO_ENGINE_SUBSTITUTION"</pre>
 +
И перезапускаем mysql
 +
<pre>net stop mysql
 +
net start mysql</pre>

Версия 13:56, 18 февраля 2015

Как запустить в bash скрипте команды mysql и mysqldump без ввода пароля

  1. создаем алиас
    mysql_config_editor set --login-path=alias_root --host=localhost --user=root --password
  2. А потом в самом скрипте
    mysqldump --login-path=alias_root name_base > file_dump.sql
  3. Или
    mysql --login-path=alias_root name_base < file_dump.sql

После переноса базы с сервера под Linux на сервер под Windows появились ошибки

Проблема

При добавлении или изменении поля типа INT или DATETIME, появились ошибки, что поле не может быть пустым.

Решение

Оказывается при установке сервера под Windows в my.ini прописывается параметр.

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Можно посмотреть если выполнить запрос.

SELECT @@GLOBAL.sql_mode

Меняем в my.ini на строку

sql-mode="NO_ENGINE_SUBSTITUTION"

И перезапускаем mysql

net stop mysql
net start mysql