Mysql: различия между версиями
Перейти к навигации
Перейти к поиску
Misha (обсуждение | вклад) (Новая страница: «==Как запустить в bash скрипте команды mysql и mysqldump без ввода пароля== #создаем алиас<pre>mysql_config_…») |
Misha (обсуждение | вклад) |
||
Строка 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 без ввода пароля
- создаем алиас
mysql_config_editor set --login-path=alias_root --host=localhost --user=root --password
- А потом в самом скрипте
mysqldump --login-path=alias_root name_base > file_dump.sql
- Или
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