Переместить локальную базу данных mssql на веб-хостинг MYSQL - PullRequest
1 голос
/ 07 июля 2011

Я разработчик dektop и мало знаю о том, как работает веб-хостинг ... Поэтому, пожалуйста, помогите мне здесь.

В настоящее время мое приложение работает с базой данных MSSQL, которая установлена ​​локально на той же машине. Теперь мне нужно расшириться и позволить нескольким приложениям работать с одной базой данных через Интернет. У меня есть веб-хостинг с CPanel и базой данных MySQL.

Скажите, пожалуйста, как я могу получить доступ к таблицам в этой базе данных MySQL с других компьютеров? Выберите и обновите записи в этой таблице. Нужно ли реализовывать некоторые функции, используя PHP для выполнения таких запросов?

Пожалуйста, сообщите ..

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Экспорт необработанных дампов MS-SQL, вероятно, не будет работать, если вы попытаетесь импортировать в mySQL, потому что есть некоторые различия в синтаксисе. Существуют коммерческие программы, которые помогут вам перенести данные, в противном случае может быть лучше написать PHP-программу для экспорта из MSSQL в mySQL.

Но ваш вопрос звучит так, будто вы спрашиваете, как получить доступ к базам данных удаленно. , PHP может сделать это изначально. Когда вы создаете ссылку на базу данных, вы указываете хост. Например: $ databaseConnection = new mysqli ('имя пользователя', 'пароль', 'host_ip_address');

Если вы выходите из MSSQL, вы можете поразить некоторые ловушки.

Чтобы разрешить удаленные подключения в MS-SQL, вы используете инструмент настройки «площадь поверхности». Вы, вероятно, обнаружите, что ваш сервер баз данных mySQL уже настроен для разрешения удаленных подключений, если нет, вам придется использовать это на своем хосте (похоже, у вас нет своего собственного ящика).

Следующий трюк - помнить, что имена пользователей в mySQL выглядят так: 'user' @ 'host'.

На хостинге cPanel обычно установлен PHPmyAdmin. Откройте его и посмотрите на таблицу пользователей в базе данных mysql (фактическая база данных с именем mysql, запущенная на сервере MySQL).

Вы увидите столбец хоста. Таким образом, если ваш пользователь root установлен только на localhost, вы не сможете войти в систему под этим пользователем с другого компьютера. Подстановочный знак%. Вы можете прочитать это здесь - http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

Конечно, те же правила применяются к mySQL, когда дело касается пользователей. Не используйте вашу корневую учетную запись для доступа к суб-базам данных, а назначьте новых пользователей, которые имеют только необходимые разрешения. Также рассмотрите возможность использования непредсказуемых имен пользователей. Это на самом деле не отвечает на ваш вопрос (извините), но стоит упомянуть, пока вы смотрите на таблицу пользователей.

Итак, чтобы окончательно ответить на ваш вопрос: 1) Войдите в cPanel и создайте свою базу данных 'foo'

2) Запустить команду SQL:

GRANT ALL PRIVILEGES ON foo.* TO 'secretuser'@'%' IDENTIFIED BY 'longpassword'

Тогда код PHP будет выглядеть примерно так:

$host = 'ipaddress or hostname';
$mysqli = new mysqli('secretuser','longpassword',$host,'foo');
// look in php.net for error handling
$query = "SELECT * FROM tablename LIMIT 0,10";
$result = $mysqli->query($query);

Причина, по которой я установил ограничение, заключается в том, что вы, вероятно, использовали "SELECT TOP 10"

0 голосов
/ 07 июля 2011

Вам придется экспортировать данные на вашем компьютере в необработанный файл SQL, а затем с помощью панели управления PHPMyAdmin вы можете импортировать их. Предполагая, что вы также используете PHPMyAdmin на своем компьютере, в верхней части находится вкладка «Экспорт». Если вы нажмете на нее, у вас будет возможность экспортировать все свои таблицы в файл .sql.

Оттуда вам нужно получить доступ к PHPMyAdmin через CPanel. После этого вы можете перейти на вкладку «Импорт» и загрузить свой файл, чтобы получить все данные в базу данных. Для взаимодействия с базой данных в сети вам необходимо использовать встроенные функции в PHP - MySQL Reference на PHP.net очень полезен. После этого вы сможете получить доступ к базе данных с любого компьютера с помощью панели управления PHPMyAdmin.

...