Можно ли использовать одну и ту же базу данных MySQL в Windows (XAMPP) и Linux (LAMP)? - PullRequest
11 голосов
/ 09 января 2011

У меня двойная загрузка с Windows 7 и Ubuntu 10.

В Windows 7 У меня установлен XAMPP, в Linux У меня установлена ​​LAMP.
Возможно ли иметь только одну базу данных MySQL для обеих операционных систем?

Я хочу сделать это, потому что я хочу использовать Ubuntu для работы (без каких-либо программ, которые могут замедлить мою работу - например, Google Talk, ICQ) и Windows 7 просто для удовольствия, но я хочу иметь возможность внести небольшие изменения в сценарий, который я программирую. Есть ли способ добиться этого?

Ответы [ 5 ]

5 голосов
/ 09 января 2011

в вашем my.ini (в Windows он находится где-то вроде C:\Program Files\MySQL\MySQL Server 5.1. Это основной файл конфигурации для MySQL), вы должны иметь следующую строку:

datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/" например

измените его как в Windows, так и в Linux Ubuntu, указав одну физическую папку (в разделе с файловой системой, которую Windows может распознать). Это будет работать. Форматы файлов идентичны.

Независимо от того, загружаетесь ли вы из Ubuntu или Windows 7, это не имеет значения, две разные сборки MySQL будут искать данные в одном месте. Как только данные изменены в среде Windows, вы загружаетесь из Ubuntu, и данные там изменяются.

4 голосов
/ 09 января 2011

Хотя это и не идеально, это должно быть хорошо, если:

  1. Вы используете идентичные версии MySQL в обеих операционных системах.

  2. Вы выключаете mysqld перед тем, как копировать файлы данных.(Если вы собираетесь копировать файлы данных между разделами, а не хранить их в общем разделе fat32).

По сути, пока MySQL работает на архитектурето же самое «endianness», тогда форматы файлов должны передаватьсякомпьютер под управлением Windows 7 - следовательно, вы можете легко получить доступ к своей среде разработки без перезапуска и т. д.

Это на самом деле довольно удобная установка, поскольку вы можете использовать среду разработки Windows, если хотитеи просто разместите данные веб-сайта сайта на монтировании Samba на виртуальной машине Ubuntu.

1 голос
/ 09 января 2011

Пока данные доступны для совместного использования / чтения / записи в обеих ОС, и оба формата файлов идентичны в обеих ОС, это должно быть выполнимо

Первая проблема, которую я могу себе представить, это случай нечувствительность в windows .
, поэтому преобразуйте вашу базу данных / таблицу ti camel_case (или camelcase), если вы всегда используете CamelCase.

Дополнительная информация для чтения - http://dev.mysql.com/doc/refman/5.0/en/limits-windows.html

0 голосов
/ 17 января 2013

Я потратил много времени и обнаружил, что запуск ядра Linux - это решаемый способ и выполнимое решение.

Бродяга

Это инструмент для создания и управления средами виртуальных машин в одном рабочем процессе. Основная причина, по которой я утверждаю, что вы используете vagrant, заключается в том, что он не слишком тяжелый и не поглощает значительную часть ресурсов вашего компьютера. Я полагаю, что вы получите документацию Vagrant , которая позволит вам запустить машину на базе Linux на вашем физическом компьютере.

Предположим, что хост-машине присвоен IP 192.168.1.2, а виртуальная машина имеет IP-адрес 192.168.1.10, и убедитесь, что хост и гостевая машина могут видеть друг друга. Пожалуйста, внимательно прочитайте Сетевой раздел , чтобы настроить конфигурацию сети.

Проверка соединения между хостом и гостевым компьютером

Установка MySQL Server

MySQL - это система управления базами данных. По сути, он будет организовывать и предоставлять доступ к базам данных, где наш сайт может хранить информацию.

Открыть терминал в машине было настроено с шага выше. Выполните следующую команду:

sudo apt-get install mysql-server-5.6

Примечания : Это зависит от установленной версии дистрибутива Linux, приведенная выше команда может быть изменена в соответствии с вашими потребностями. Для установки я использовал ядро ​​Ubuntu 14.04, см. Ссылку .

Во время установки ваш сервер попросит вас выбрать и подтвердить пароль для пользователя MySQL root. Это административная учетная запись в MySQL с повышенными привилегиями.

Проверка установки С терминала на гостевой машине (то есть на виртуальной машине) выполните следующую команду:

mysql -u root -p

спросит пароль MySQL, затем предоставит пароль, который вы установили во время установки MySQL Server. Ниже приведен скриншот, если вы передаете правильную информацию на сервер MySQL.

enter image description here

Включение удаленного доступа к серверу MySQL

Потому что нам нужен централизованный сервер базы данных, к которому другие компьютеры могли бы получать доступ и подключаться к интересующей базе данных. Снова откройте терминал и выполните следующие команды MySQL:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' WITH GRANT OPTION; GRANT PROXY ON ''@'' TO 'root'@'192.168.1.2' WITH GRANT OPTION; FLUSH PRIVILEGES;

, который 192.168.1.2 является IP-адресом хоста, и хэшированная строка password получается из таблицы user в базе данных mysql.

Хорошо. Вы можете отдохнуть и насладиться напитком, если проблем нет.

Проверка удаленного доступа

Из терминала на хост-машине запустите следующую команду:

mysql -h192.168.1.2 -uroot -p

, который просит вас ввести пароль. Если корневые учетные данные верны, вы увидите скриншот, подобный приведенному выше. Необходимо обратить внимание на одну вещь - добавить -h192.168.1.2 после команды mysql, потому что мы не на машине, где установлен сервер MySQL.

В общем, мы настроили сервер MySQL, используемый как для хоста, так и для гостевой машины. В действительности, если мне назначен другой компьютер, 192.168.1.3 может также подключиться к серверу базы данных и обмениваться данными между сервером и клиентом.

0 голосов
/ 09 января 2011

Конечно можно.
Но я не думаю, что это возможно для вашей системы двойной загрузки.

Предположим, ваш сервер MySQL установлен на машине с Win7. Вы можете легко получить к нему доступ из среды Win7 и даже из среды Linux (если вы не запрещаете доступ в настройках сервера MySQL). Система, в которой установлен ваш MySQL, должна быть запущена! Затем вы можете получить к ней доступ из нескольких систем, если это разрешено;

...