Подключение MySQL к Dropbox

Я успешно внес изменения в свой файл httpd.conf, чтобы изменить DocumentRoot на мою папку Dropbox. Localhost больше не указывает на /etc/www, а указывает на /home/Dropbox/www...

Это удобно, потому что независимо от того, на каком компьютере я работаю, изменения в моих веб-файлах синхронизируются, а Dropbox поддерживает прозрачную систему управления версиями в фоновом режиме.

Мне интересно, возможно ли также хранить данные mySQL (не обязательно фактические двоичные файлы) в моей папке Dropbox. Синхронизация данных была бы одинаково полезна, если бы это было возможно. Какие изменения нужно внести, чтобы базы данных, таблицы и другой пользовательский контент помещались в папку Dropbox, а не на мой локальный жесткий диск?


person Jordan Arseno    schedule 13.05.2011    source источник
comment
Вы явно не продумали это должным образом, иначе вы бы поняли, что не можете хранить базу данных на постоянно синхронизируемом носителе. Настройте задание cron, чтобы время от времени сбрасывать sql, это должно помочь.   -  person Sean Kinsey    schedule 13.05.2011
comment
каждое... одно... изменение... будет синхронизироваться через Dropbox. Поскольку файлы данных хранятся в виде двоичных файлов, я думаю, что это может даже заставить его загружать весь файл каждый раз, когда вы что-то обновляете (я думаю)   -  person JohnP    schedule 13.05.2011
comment
@JohnP - хорошо, если это так, это может быть плохой идеей. Для веб-файлов это прекрасно работает; Я не хочу использовать git или svn, потому что на данный момент это слишком много для моих нужд. Для файлов базы данных... Я мог бы напроситься на неприятности. Мой веб-хостинг предлагает тонны баз данных MySQL, я думаю, что мой лучший вариант — просто подключиться удаленно, как упомянули @gnur и ahmet.   -  person Jordan Arseno    schedule 13.05.2011
comment
Вы всегда можете воспользоваться службой Backup Box для автоматического создания дампа базы данных в Dropbox без написания кода.   -  person Eric Warnke    schedule 30.05.2012


Ответы (4)


Вероятно, проще и надежнее использовать удаленную базу данных mysql. Большинство веб-хостингов предлагают услуги MySQL, некоторые из них даже бесплатны. Синхронизация баз данных mysql - это боль, независимо от того, как вы это делаете! Если вы начнете копировать сами файлы данных, это просто ждет повреждения!

person gnur    schedule 13.05.2011
comment
Я никогда раньше не видел, чтобы Dropbox что-то портил, а использование локальной базы данных намного быстрее. - person 472084; 23.06.2012
comment
Даже если это не повреждение файла, оно может стать логическим повреждением, если вы хотя бы раз откроете базу данных в обоих местах, у вас будет много конфликтующих копий пользовательских файлов файлов, что является просто несчастным случаем. - person gnur; 10.07.2012
comment
Я могу подтвердить, что это может произойти, моя настройка wamp действительно испортилась из-за некоторых копий конфликтующих файлов, сделанных, на которые движок InnoDB опирался ib_logfile0 и ibdata1. Я исправил это, переименовав и используя раскрывающийся список файлов, помеченных как конфликтующие файлы, в файлы по умолчанию. Вероятно, лучше найти другое решение, чтобы избежать этих проблем. - person haakym; 13.10.2014

Это возможно, если вы успешно можете скопировать папку данных MySQL и указать ее прямо там, однако вы можете столкнуться с проблемами параллелизма. Это не рекомендуемый способ. Почему бы вам не использовать систему контроля версий, такую ​​​​как svn, git, с сервером MySQL, разрешенным для удаленных подключений?

Базы данных обновляются очень часто, и Dropbox заставит их обновляться слишком часто, но иногда они не будут синхронизироваться, и ваше соединение будет потрачено впустую из-за обновлений DropBox. Это действительно не очень хорошая практика.

person Ahmet Alp Balkan    schedule 13.05.2011

Конечно, вы можете, отредактируйте файл my.cnf и измените datadir с того, что было (возможно, /var/lib/mysql/), на /home/Dropbox/mysql....

person Pål Brattberg    schedule 13.05.2011

Dropbox не может управлять владельцами файлов (и разрешениями), поэтому, если исходный файл базы данных принадлежал mysql:mysql, после каждой синхронизации владельцем будет youruser:yourgroup, разрешения установлены на 664, а база данных будет доступна только для чтения для mysql!

Решение состоит в том, чтобы добавить пользователя mysql в группу yourgroup, и тогда он будет работать с разрешениями 664, и вам не придется каждый раз вручную менять владельцев обратно на mysql.

person bartusdavid    schedule 14.06.2013