Как сделать дамп асиоу
Что такое дамп базы данных и как его создать
Перенос сайта с одного сервера на другой может оказаться непростой задачей для многих пользователей. Это связано с тем, что, помимо обычного перемещения файлов, необходимо также выполнить экспорт и импорт базы данных. В таких случаях используется специальный файл под названием дамп. Поговорим в сегодняшней статье, что это такое и как его сделать.
Что такое дамп базы данных
Копирование базы данных может быть полезно, когда нужно выполнить:
Помимо этого, дамп может заполнить не только пустую базу, но и заменить содержимое ранее созданной. Давайте перейдем к практической части и посмотрим на наглядном примере, как все это можно организовать.
Создаем дамп базы данных MySQL
Существует несколько способов создания дампов: через консольное окно или с помощью phpMyAdmin. Рассмотрим последовательно каждый из методов, а также попробуем восстановить БД из дампа.
Способ 1: Консольное окно MySQL
Удаленное подключение к хостингу по SSH разрешает работать с информационными хранилищами. Выбор данного протокола обусловлен его высокой безопасностью, так как вся информация передается в зашифрованном виде без возможности перехвата трафика.
Для подключения вы можете воспользоваться такими программами, как PuTTY и WinSCP – они распространяются в бесплатном доступе. Остановимся на первой утилите и посмотрим, как с ее помощью можно сделать дамп базы данных MySQL.
Обратите внимание, что если на компьютере функционирует сервер с БД, то соединение через порт 3306 будет некорректно. В таких случаях рекомендуется использовать другие значения, например, 3307, 3308 и так далее.
Теперь мы можем переходить к удаленному администрированию БД: создадим дамп базы данных MySQL. Для этого введем в консоль следующий запрос:
В целях безопасности рекомендуется вообще не использовать логин и пароль. В таком случае команда примет следующий вид:
Для понимания можете взглянуть на пример с использованием пользователя и пароля:
Таким образом будет создан файл WordPressDump.sql, содержащий в себе все нужные данные для точного копирования. Посмотрим, как этот файл импортировать в проект через консоль:
Аналогично подставляем свои данные в команду и в итоге получаем:
Также при импорте мы можем указать кодировку — для этого достаточно добавить ключ default-character-set. В итоге код преобразуется:
Вот такими несложными действиями можно сделать копирование через консольное окно. Теперь давайте «покопаемся» в phpMyAdmin и выполним в нем копирование БД.
Способ 2: Инструмент phpMyAdmin
PhpMyAdmin по умолчанию предустановлен на каждой CMS. Доступ к нему осуществляется через личный кабинет пользователя на хостинге либо через локальный веб-сервер на домашнем ПК.
Подключаемся к phpMyAdmin и экспортируем БД:
После этого нам будет предложен выбор места сохранения файла. В последующем мы сможем его использовать через вкладку «Импорт». Для этого достаточно загрузить файл и указать подходящую для него кодировку:
В заключение стоит сказать, что дамп базы данных – это незаменимый файл, без которого не обходится ни один серверный переезд. Используйте его для переноса базы на хостинге или с локальной машины, а также для создания резервных копий. Удачи!
Как сделать дамп асиоу
основная инструкция по установке на Ubuntu 16.04 LTS
Опционально обновим систему до последнего состояния:
Установить требуемые пакеты:
Распакуем архив с АСИОУ:
Установим требуемые пакеты для Python:
Создадим БД и пользователя СУБД (вместо asiou_prod указать желаемое имя БД, вместо PASSWORD следует задать надежный пароль):
Развернем дамп БД АСИОУ (Файл дампа БД должен быть загружен на сервер заранее):
Настроим СУБД в АСИОУ для этого отредактируем файл /var/www/asiou/db.ini заполним данными полученными на этапе создание БД (Имя пользователя, пароль, имя БД)
Подготовим БД для перехода на новую версию АСИОУ:
Привести файл /etc/apache2/sites-available/000-default.conf к виду:
Сменим владельца каталога АСИОУ:
Добавим бит выполнения для файла wsgi.py:
После чего можно зайти по адресу http сервера в интерфейс АСИОУ
Файл логов cont_export.log в каталоге www следует вынести в отдельный каталог логов (проще настроить ротацию, все-таки это не статический файл, а также удобнее монтировать каталог log в хост машину при использовании докера)
Данная инструкция проверена на уже имеющийся БД АСИОУ, развертка с пустой БД не проводилась, для развертки с нуля требуется информация от разработчиков в каком порядке создавать БД и какие sql файлы использовать
Так же предлагаю использовать докер для приложения АСИОУ, в этом случае можно избавится от привязки к конкретному дистрибутиву и использовать на любом где можно установить докер
centos 6.8 (обновление версии 7.5.9)
Пока сделано частично:
Подготовим БД для перехода на новую версию АСИОУ:
# Настройки, связанные с Django
# Корневая папка проекта (полный путь)
uid = asiou
gid = asiou
chdir = /home/asiou/www/
# Django wsgi файл
wsgi-file = /home/asiou/www/wsgi.py
# полный путь к виртуальному окружению
virtualenv = /home/asiou/.venv/asiou_venv
# общие настройки
# master
master = true
protocol = uwsgi
# максимальное количество процессов
processes = 10
# полный путь к файлу сокета
socket = /var/run/asiou.sock
plugins = python
chown-socket = nginx:nginx
chmod-socket = 660
# очищать окружение от служебных файлов uwsgi по завершению
vacuum = true
Настройки nginx.
Файл /etc/nginx/uwsgi_params
upstream django_aisdou <
server unix:///var/run/asiou.sock fail_timeout=0;
>
# конфигурация веб-сервера
server <
proxy_read_timeout 3600;
proxy_send_timeout 3600;
uwsgi_send_timeout 3600;
uwsgi_read_timeout 3600;
error_log /var/log/nginx/asiou111_error.log;
access_log /var/log/nginx/asiou111_access.log;
server_tokens off;
# порт, который будет слушать веб-сервер в ожидании запросов от пользователй
listen 80;
# доменное имя
server_name _; # замените на собственный домен или IP адрес
charset utf-8;
# максимальный размер загружаемых на сервер данных
client_max_body_size 75M;
location /static <
alias /home/asiou/www/static;
# Gzip
gzip on;
gzip_min_length 8192;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable «msie6»;
>
location /media <
alias /home/aisdou/www/asiou/media;
>
location / <
# Maintenance mode
if (-f /home/asiou/mntnce/maintenance_on.html) <
return 503;
>
uwsgi_pass django_aisdou;
include /etc/nginx/uwsgi_params;
>
# Error page for maintenance mode
error_page 503 /maintenance_on.html;
location = /maintenance_on.html <
root /home/asiou/mntnce/;
>
>
Это только то что я вспомнил.
Это только то что я вспомнил.
Это только то что я вспомнил.
Это только то что я вспомнил.
Т.е. надо ставить еще и git отдельно ставить.
Т.е. надо ставить еще и git отдельно ставить.
Как сделать дамп асиоу
В РИД появилось следующее объявление: «С 1-го сентбря сайт перешел на использование защищенного протокола HTTPS. В связи с этим необходимо изменить адрес для автоматической выгрузки в конфигурации АСИОУ 7. В файле settings.py найдите адрес http://%s:%s@my.dnevnik76.ru/xmlrpc/ и измените в нем http на https. В следующем обновлении АСИОУ данное изменение будет включено по умолчанию.»
Появилось 2 вопроса:
1. Автоматическая выгрузка в РИД все таки возможна?
2. Если да, то следующий вопрос: нашла указанный в объявлении файл, но указанной строки там нет. Возможно ли ее создать самой? И где она должно там встать?
МОУ Вощажниковская СОШ
1. Да и успешно работает.
2. Не надо. Посмотрите в C:wwwcmd наличие файлов rid_export.xml и rid_export.bat. Если у вас они там есть, то всё должно работать, но вы в своё время не прочитали нужную инструкцию и не выполнили её. Возникнут проблемы с поиском инструкции, напишите мне в ЛС свой e-mail, я поделюсь инструкцией.
Не первый раз встречаемся с проблемой отсутствия «защиты от дурака». Учителя (особенно работающие по ФГОС) при записи темы урока охватывают неохватное, записывая максимальное количество символов, что приводит к ошибке при выгрузке в РИД. Приходится вычислять «писателя», править и снова выгружать. Инструктировала, объясняла, предупреждала, все равно такие случаи возникают. Возможно ли предусмотреть какую-то программную защиту (по количеству символов/байтов): либо поле в базе уменьшить (тема и домашнее задание), либо в РИДе увеличить размер полей?
ЗЫ Технически в базе АСИОУ это выглядит так:
`theme` varchar(2000) NOT NULL,
`home_task` varchar(2000) NOT NULL,
Цитата: Не первый раз встречаемся с проблемой отсутствия «защиты от дурака». Учителя (особенно работающие по ФГОС) при записи темы урока охватывают неохватное, записывая максимальное количество символов, что приводит к ошибке при выгрузке в РИД. Приходится вычислять «писателя», править и снова выгружать. Инструктировала, объясняла, предупреждала, все равно такие случаи возникают. Возможно ли предусмотреть какую-то программную защиту (по количеству символов/байтов): либо поле в базе уменьшить (тема и домашнее задание), либо в РИДе увеличить размер полей?
Формирование прямой ссылки на учреждение в Региональном Интернет Дневнике (РИД)
В РИД по запросам образовательных учреждений реализована возможность размещения на сайте учреждения прямую ссылку для входа в РИД с автоматическим выбором учреждения.
Формирование прямой ссылки с автоматическим выбором их школы осуществляется по правилу – справа от ссылки https://my.dnevnik76.ru/accounts/login/?school_id= дописывается код учреждения (https://my.dnevnik76.ru/accounts/login/?school_id= )
Например, код учреждения 767722, тогда ссылка будет выглядеть следующим образом https://my.dnevnik76.ru/accounts/login/. _id=767722
Добрый день! Подскажите, пожалуйста, работает ли на данный момент автоматическая выгрузка в РИД. Было объявление, что автоматическая выгрузка временно прекращена. Теперь этого объявления нет, но выгрузка автоматически так и не происходит. Это у всех так или проблема только в нашей школе?
rsi76
Ruslan
Базовая система
Система должна иметь доступ в Интернет для установки пакетов (по умолчанию настройки без использования прокси-сервера)
Установка и настройка системных компонентов
Установка
Установка утилиты для управления запуском и остановом фоновых сервисов:
apt-get install sysvinit-utils
Установка языка программирования Python:
apt-get install python2.6 python-setuptools
Установка фреймворка Django, библиотеки TreeBeard и XLWT. Асиоу ориентирована на старую версию django (1.3.1 работает), и с новыми может не работать (с 1.6.1 не работает точно на данный момент). Вот так выглядит ошибка запуска:
root@server:/home/asiou/www# /usr/loacl/sbin/django_fcgi start asiou
А все потому, что execute_manager является устаревшим.
Настройка
Описывается только настройка того ПО для которого она требуется. Нам потребуется настроить MySQL и nginx.
Настройка MySQL
Теперь необходимо изменить пароль для привилегированного пользователя root (можно не делать) и создать нового пользователя asiou для подключения к СУБД MySQL и собственно саму базу данных. Делается это следующими командами (NEWPASSWORD — это ваш новый пароль для суперпользователя СУБД root, запишите или запомните его. ):
mysql> CREATE DATABASE IF NOT EXISTS asiou CHARACTER SET utf8;
PASSWORD — это ваш пароль для пользователя MySQL asiou, запомните или запишите его, он будет использоваться при установке АСИОУ!
Настройка nginx
Делаем его исполнимым:
chmod +x /etc/nginx/fastcgi_params_djang
переходим в каталог /etc/nginx/sites-enabled:
системные компоненты установлены.
Установка и настройка АСИОУ
Настройка и запуск программного комплекса АСИОУ 7.0
Создадим пользователя asiou в системе и зададим ему пароль, а так же создадим необходимые каталоги. Это пользователь от имени которого будет работать программный комплекс АСИОУ 7.0 в операционной системе.
Для работы АСИОУ 7.0, требуется запуск FastCGI сервера через библиотеку flup, которую мы устанавливали ранее. Протокол FastCGI является связующим звеном между программным комплексом АСИОУ 7.0 и веб-сервером nginx.
Для запуска сервера нам потребуется специально оформленный shell-скрипт. Содержимое необходимо сохранить в файл /usr/local/sbin/django_fcgi
Делаем его исполнимым:
chmod +x /usr/local/sbin/django_fcgi
Далее необходимо создать служебный каталог и назначить для него права на запись:
mkdir /var/run/django-fcgi
chmod 777 /var/run/django-fcgi
Для работы скрипта описанного выше необходимо создать конфигурационный файл /etc/djfcgi.conf следующего содержания:
Распаковка архива с программным комплексом АСИОУ 7.0.
Архив asiou-7.0.tar.gz необходимо распаковать в каталог /home/asiou/www следующей командой (предполагается что архив находится в текущем каталоге):
Указывая своего пользователя к базе данных и его пароль
Далее необходимо инициализировать базу данных и заполнить ее начальными значениями
Инициализация базы данных
Переходим в каталог /home/asiou/www/asiou и создаем чистую базу данных:
переходим в каталог /home/asiou/www и запускаем подключение к mysql:
(после этого вводится ПАРОЛЬ для доступа к MySQL, как правило, если не придумывали оригинальный свой, это root)
use asiou;
set names utf8;
\. sql/kladr.sql
В командной строке выполнить команды:
Инициализация данных по учреждению выполняется в процессе конвертации данных из csv-файлов (которые получены экспортом из 6 версии и располагаются в папке CONV) с помощью команды convert.
Вход в АСИОУ 7.0
После запуска можно открыть браузер (Firefox, Opera, Chrome или Internet Explorer) и набрать в адресной строке адрес http://asiou.local. Именно это имя было указано в настройках nginx. Если у вас отсутствует имя сервера или система DNS, то можно зайти в систему используя IP-адрес, например если адрес компьютера на котором установлено ПО АСИОУ 7.0 192.168.1.10, то заходить следует по адресу http://192.168.1.10. При этом если компьютер находится в локальной сети, то по данному адресу можно войти в систему с любого комьютера.
Для остановки АСИОУ 7.0 необходимо выполнить команду:
Для создания административного пользователя необходимо выполнить следующие команды:
Заходим в каталог с файлами sqlparse-0.1.6-py2.6.egg, odict-1.5.1-py2.6.egg
Таким же образом устанавливаем xlrd-0.9.2, xlutils-1.6.0, django-piston
Далее обновляем остальные компоненты:
python manage.py re_sequence
Если при экспорте в интернет-дневник получаем ошибку:
Ошибка в формате XML-файла «expmark-Current.xml» : [Errno 13] Permission denied: ‘/home/asiou/www/temp/expmark-Current.xm l’
то необходимо выставить на каталог / home /asiou/www/temp/ права 777:
Система готова к работе
дополнения
ЭТОТ ПОСТ СОДЕРЖИТ НОВУЮ ИНФОРМАЦИЮ, ПОЛУЧАЕМУЮ В ПРОЦЕССЕ ЭКСПЛУАТАЦИИ
1) Рекомендуется быть осторожнее в автоматическими обновлениями. Особенно django. На версиях кроме 1.3 все это может и не работать.
2) обновление 20150113, версия 7.3.5
требуется установка xhtml2pdf. ставится без проблем, но версия reportlab 3.1
а в xhtml2pdf требуется более 2.1 версия и проверяется уж совершенно для меня диким способом:
if not (reportlab.Version[0] == «2» and reportlab.Version[2] >= «1»):
тем самым, подходит любая версия из ветки 2, а у нас 3, поэтому считается, что она не подходит.
проблема описана хорошо здесь: http://stackoverflow.com/questions/22075485/xhtml2pdf-importerror-django
и пока это единственное решение, что реализовал.
вот эти строчки в файле /usr/local/lib/python2.7/dist-packages/xhtml2pdf-0.0.5-py2.7.egg/xhtml2pdf/util.py (у вас он может быть по другому пути):
if not (reportlab.Version[0] == «2» and reportlab.Version[2] >= «1»):
raise ImportError(«Reportlab Version 2.1+ is needed!»)
REPORTLAB22 = (reportlab.Version[0] == «2» and reportlab.Version[2] >= «2»)
меняем на
_reportlab_version = tuple(map(int, reportlab.Version.split(‘.’)))
if _reportlab_version = (2, 2)
ВНИМАНИЕ НА ВЫРАВНИВАНИЕ СТРОК. Питон к этому чувствителен, в отличие от других языков программирования. Все строки от края страницы, «raise ImportError» на 4 пробела от края.
Edited at 2015-01-21 01:13 pm (UTC)
Иногда, при обновлении базы данных, получается следующая ошибка:
[code]
=============================
Error: Incorrect string value: ‘\xD0\xA1\xD0\xB5\xD1\x80. ‘ for column ‘name’ at row 1
=============================
Traceback:
File «/home/asiou/www/asiou/../asiou/common/u til.py», line 2014, in execute_sql_file
cursor.execute(line.decode(settings.FILE _CHARSET))
File «/usr/local/lib/python2.7/dist-packages/D jango-1.3.1-py2.7.egg/django/db/backends/u til.py», line 34, in execute
return self.cursor.execute(sql, params)
File «/usr/local/lib/python2.7/dist-packages/D jango-1.3.1-py2.7.egg/django/db/backends/m ysql/base.py», line 86, in execute
return self.cursor.execute(query, args)
File «/usr/lib/pymodules/python2.7/MySQLdb/cu rsors.py», line 176, in execute
if not self._defer_warnings: self._warning_check()
File «/usr/lib/pymodules/python2.7/MySQLdb/cu rsors.py», line 92, in _warning_check
warn(w[-1], self.Warning, 3)
=============================
SQL: INSERT INTO asiou_p_params VALUES (1, NULL, 1, 1, 600, ‘Серия’, ‘p_id_card_series’, », ‘Серия документа’, 0, 0, 0, », 0), (2, NU.
оптимизация mysql
# Размер буфера ключей, можно ставить до 25% от общего объема ОЗУ, распределяется между всеми потоками. Для 4Гб ОЗУ мы ставим 256М
key_buffer_size = 256M
# Кэширование открытых ранее таблиц, 512 значение для 4Гб ОЗУ, при увеличении можно
# так же увеличивать (при необходимости, зависит от размеров кол-ва БД и кол-ва таблиц)
table_open_cache = 512
# От этих параметров зависит будет временная таблица создана в памяти или будет записана на диск. При превышении указанного размера, будет записана на диск.
# Иногда при больших запросах создается временная таблица для подготовки и сортировки результата
tmp_table_size = 64M
max_heap_table_size = 64M
# Буферы чтения, сортировки, значения для 4 Гб ОЗУ. При увеличении ОЗУ увеливать
# необходимо не пропорционально, например при 12 Гб ОЗУ, можно увеличить в 2 раза.
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
# Важный параметр, буфер для движка InnoDB, ставить надо максимально возможное значение, иp рекомендаций 50-80% доступного ОЗУ
innodb_buffer_pool_size = 1664M