Какой рейтинг вас больше интересует?
|
Перенос сайта на Drupal 7 с MySQL на PostgreSQL.2013-02-05 16:05:31 (читать в оригинале)Так уж повелось с давних времен, что наш сайт работал с использованием MySQL. И всебы ничего, но с переходом с версии 5.1 на 5.5 MySQL начал потреблять очень много памяти. Ковыряние конфига и смена MySQL на MariaDB не сильно решили проблему. Решено было переходить на PostgreSQL (да я знаю о фичастости этого сервера, но на сайте с не очень большой посещаемостью решающим стало именно потребление памяти). Итак, устанавливаем нужные пакеты, создаем юзера и базу данных, все это 100500 раз описано в интернетах, а вот собственно сам процесс переноса базы думаю вызывает интерес у многих. В интернете можно найти совет создать дамп базы с поддержкой PostgreSQL передав приложению mysqldump параметр —compatible=postgresql. Этот способ не работает, ну по крайней мере не заработал у меня. А получилось перенести базу с помощью скрипта py-mysql2pgsql. Установить его можно с помощью pip : #pip install py-mysql2pgsql Потребуется установить dev пакеты для PostgreSQL, MySQL и Python. Далее нужно создать конфиг с таким содержимым: ## В разделе mysql думаю все понятно mysql: hostname: localhost port: 3306 socket: /var/run/mysqld/mysql.sock username: dbase_user password: dbase_password database: dbase_name compress: false destination: file: ## Здесь можно указать итоговый файл с дампом базы postgres: ## Или указать параметры подключения к серверу PostgreSQL для прямого импорта hostname: localhost port: 5432 username: dbase_user password: dbase_password database: dbase_name ## Тут можно указать какие таблицы конвертировать (по умолчанию - все) #only_tables: #- table1 #- table2 ## Здесь можно исключить таблицы #exclude_tables: #- table3 #- table4 ## Если true, то будет использоваться только структура базы supress_data: false ## Если true, то будут использоваться только данные базы supress_ddl: false ## Не совсем понял зачем это нужно :) force_truncate: false ## Если true, конвертит MySQL дату в UTC+tzinfo timezone: false Затем запускаем скрипт
py-mysql2pgsql -v -f config_file После экспорта базы нужно изменить драйвер в конфиге друпала с mysql на pgsql, затем запустить скрипт update.php, пройти процедуру обновления и все, сайт начнет работать уже с сервером PostgreSQL.
|
Категория «Писатели»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
взяты из открытых общедоступных источников и являются собственностью их авторов.