Commit d6181324 authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Change default Database ENGINE to MYISAM

parent b6a4bdfd
Loading
Loading
Loading
Loading
+34 −12
Original line number Diff line number Diff line
@@ -74,8 +74,8 @@
	
#### 2. Настройка базы данных MySQL (опционально, но очень желательно для увеличения производительности).
2.1 Для работы с большим количеством книг, очень желательно не использовать sqlite, а настроить для работы БД MySQL.
MySQL по сравнению с sqlite работает гораздо быстрее, например скорость сканирования книг при использованиии MySQL
увеличится приблизительно в ПЯТЬ!!! раз.
MySQL по сравнению с sqlite работает гораздо быстрее. Кроме того SQLite - однопользователская БД, т.е. во время сканирования доступ
к БД будет невозможен.

UBUNTU: для работы с БД Mysql в UBUNTU потребовалось установить доп пакет:   
   
@@ -99,9 +99,14 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось
	        'NAME': 'sopds',
	        'HOST': 'localhost',
	        'USER': 'sopds',
            'PASSWORD' : 'sopds'
	        'PASSWORD' : 'sopds',
	        'OPTIONS' : {
	            'init_command': "SET default_storage_engine=MyISAM;\
	                             SET sql_mode='';"
	        }
	    }
	}


    # DATABASES = {
    #    'default': {
@@ -110,12 +115,29 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось
    #    }         
    #}  

2.4 Далее необходимо для инициализации и заполнения вновь созданной БД заново выполнить пункты 1.4 - 1.9 данной инструкции
2.4 Использование InnoDB вместо MyISAM.  
Указанная конфигурация MySQL использует в качестве движка БД MyISAM.
Однако возможно использовать более современный движок InnoDB. Он несколько быстрее и поддерживает транзакции, что положительно скажется
на целостности БД. Но иногда на устаревших версиях MySQL (например MariaDB 5.5) с ним возникают проблемы из-за ограничений на максимальную длину
индексов.  
Тем не менее если у Вас современная версия MySQL, то в настройках БД Mysql Вместо указанных параметров OPTIONS просто используйте следующие:

    'OPTIONS' : {
        'init_command': """SET default_storage_engine=INNODB; \
                           SET sql_mode='STRICT_TRANS_TABLES'; \
                           SET NAMES UTF8; \
                           SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
                        """
    }


2.5 Далее необходимо для инициализации и заполнения вновь созданной БД заново выполнить пункты 1.4 - 1.9 данной инструкции
Однако, если Вы уже ранее запустили HTTP/OPDS сервер и SCANNER сервер, то потребуется сначала остановить их:

	python3 manage.py sopds_server stop
	python3 manage.py sopds_scanner stop
	

#### 3. Настройка конвертации fb2 в EPUB или MOBI (опционально, можно не настраивать)  

3.1 Конвертер fb2-to-epub http://code.google.com/p/fb2-to-epub-converter/
+9 −17
Original line number Diff line number Diff line
@@ -25,16 +25,9 @@ SECRET_KEY = 'm4l1c#nq6*zs!c3ri4dg4(54_7bvrl5uintni6p20tijlaxv!x'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# Конфигурация для ведения разработки на разных хостах
# убрать при окончании разработки
import socket
HOSTNAME=socket.gethostname().upper()

ALLOWED_HOSTS = ['*']


# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
@@ -92,11 +85,8 @@ WSGI_APPLICATION = 'sopds.wsgi.application'
#        'USER': 'sopds',
#        'PASSWORD' : 'sopds',
#        'OPTIONS' : {
#            'init_command': """SET default_storage_engine=INNODB; \
#                               SET sql_mode='STRICT_TRANS_TABLES'; \
#                               SET NAMES UTF8; \
#                               SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
#                            """
#            'init_command': "SET default_storage_engine=MyISAM;\
#                             SET sql_mode='';"
#        }
#    }             
#}
@@ -129,8 +119,8 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/1.9/topics/i18n/

#LANGUAGE_CODE = 'en-US'
LANGUAGE_CODE = 'ru-RU'
LANGUAGE_CODE = 'en-US'
#LANGUAGE_CODE = 'ru-RU'

TIME_ZONE = 'Europe/Moscow'
USE_I18N = True
@@ -142,9 +132,11 @@ USE_TZ = True
STATIC_URL = '/static/'
STATIC_ROOT = 'static'

#SOPDS_ROOT_LIB = 'D:\\tmp\\flibusta\\'

#
# SIMPLE OPDS SETTINGS
#
SOPDS_ROOT_LIB = 'W:\\_Downloads\\_Lib.rus.ec - Официальная\\lib.rus.ec\\'
#SOPDS_ROOT_LIB = 'Z:\\КНИГИ\\TEST\\'
#SOPDS_ROOT_LIB = '/mnt/SATA1TB-1/КНИГИ/BOOKS/'
#SOPDS_ROOT_LIB = '/mnt/nfs/КНИГИ/BOOKS/'

@@ -157,5 +149,5 @@ SOPDS_SCAN_SHED_HOUR ='0,12'
#SOPDS_FB2TOEPUB = os.path.join(BASE_DIR,'convert/fb2toepub/unix_dist/fb2toepub')
#SOPDS_FB2TOEPUB = os.path.join(BASE_DIR,'convert/fb2conv/fb2epub')
#SOPDS_FB2TOMOBI = os.path.join(BASE_DIR,'convert/fb2conv/fb2mobi')
SOPDS_FB2TOEPUB = os.path.join(BASE_DIR, 'convert\\fb2epub\\fb2epub.cmd' if sys.platform =='win32' else 'convert/fb2epub/fb2epub' )
#SOPDS_FB2TOEPUB = os.path.join(BASE_DIR, 'convert\\fb2epub\\fb2epub.cmd' if sys.platform =='win32' else 'convert/fb2epub/fb2epub' )