Syno - логотип Главная страница Галерея Статьи Ссылки Обо мне Написать письмо

статьи >> оптимизация работы с MySQL

 

ВВЕДЕНИЕ

 

Нам необходимо набить базу данных MySQL для какого-либо сайта. Как же лучше ее сделать, чтобы не тратить лишнее время на набор данных через веб-интерфейс?

 

Для этого нам потребуются следующие вещи:

  • Локальный сервер MySQL. Его можно скачать с сайта: http://www.mysql.com

  • Программа Microsoft Access, входящая в состав пакета Microsoft Office.

  • Драйвер MyODBC. Его можно скачать с сайта: http://www.microsoft.com

  • Программа для работы с протоколом SSH. Я рекомендую для этих целей программу Putty.     Взять можно здесь: http://www.chiark.greenend.org.uk/~sgtatham/putty/

  •  

    Установка программ здесь не описывается. В интернете достаточно статей на эту тему. Скажу лишь, что для этого примера я использовал все программы с установками по умолчанию.

     

     

    СОЗДАНИЕ БАЗЫ ДАННЫХ И ТАБЛИЦЫ

     

    Допустим база данных на нашем сайте называется testDB и в ней будет содержаться одна таблица test_table, с двумя полями test_id и test_note. Создаем подобную базу на локальном сервере MySQL. Для этого открываем окно сеанса MS-DOS и пишем там:

     

    cd c:\mysql\bin

     

    При условии, что вы установили MySQL на диск С в папку mysql. Затем запускаем сервер командой (если у вас shareware-версия):

     

    mysqld-shareware

     

    Создаем базу данных:

     

    mysqladmin create testDB

     

    Запускаем монитор:

     

    mysql

     

    Пишем какую базу данных мы будем использовать:

     

    use testDB;

     

    Создаем таблицу в базе:

     

    create table test_table (test_id char NOT NULL auto_increment, primary key (test_id), test_note text);

     

    Если не создать первичное поле с автоувеличением, то при открытии таблицы, Access может выдать ошибку. Внесем пару записей в таблицу:

     

    insert into test_table values ('1','Note');

     

    И еще одну:

     

    insert into test_table values ('2','Another note');

     

    Не закрываем окно MS-DOS!!!

     

     

    ПОДКЛЮЧАЕМСЯ К MYSQL С ПОМОЩЬЮ MICROSOFT ACCESS

     

    Запускаем программу Microsoft Access. Выбираем пункт "Создать новую базу данных" и сохраняем ее на жестком диске. Выбираем меню "Файл" - "Внешние данные" - "Связь с таблицами". В появившемся окне выбираем тип файлов "ODBC Databases". Появляется еще одно окно… Выбираем вкладку "Источник данных компьютера" и нажимаем на кнопку "Создать". Тип источника данных выбираем "Пользовательский" и жмем "Далее". Выбираем драйвер "MySQL" и снова жмем "Далее", а потом "Готово". В открывшемся окне, в полях "Windows DSN name" и "MySQL database name" пишем testDB. В поле "MySQL host" пишем localhost и нажимаем кнопку "OK". Далее, выбираем в новом окне базу данных testDB и нажимаем кнопку "OK". Потом снова "ОК". В появившемся окошке выбираем таблицу test_table и нажимаем кнопку "OK". В главном окне появляется запись test_table. Открываем таблицу…

     

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

     

     

    ИМПОРТИРУЕМ БАЗУ MICROSOFT ACCESS В MYSQL

     

    Допустим у нас уже есть готовая база данных в формате Microsoft Access. Тогда, что же нам нужно сделать…

     

    Выбираем меню "Файл" - "Внешние данные" - "Импорт". Выбираем нужный файл Microsoft Access и нажимаем на кнопку "Импорт". В появившемся окне выбираем нужные таблицы для подключения их к нашей базе testDB и щелкаем "OK". После чего выбираем импортированную таблицу в главном окне программы, щелкаем на ней правой кнопкой мыши и в меню выбираем опцию "Экспорт". В окне экспорта выбираем тип файлов "ODBC Databases", затем пишем, если надо, новое имя таблицы и жмем "ОК". Появляется еще одно окно… Выбираем вкладку "Источник данных компьютера", в ней выбираем testDB , жмем "ОК" и снова "ОК". Таблица была сохранена в базе testDB на локальном сервере MySQL.

     

     

    ВЫГРУЖАЕМ БАЗУ С ЛОКАЛЬНОГО СЕРВЕРА MYSQL

     

    Теперь надо все это добро перенести на сайт, то есть на провайдерский сервер. Для начала выгрузим базу в один файл. Для этого, любым файловым менеджером заходим в папку с:/mysql/bin и в командной строке пишем:

     

    mysqldump -u -p_mysql testDB > testdb.sql

     

    После символа -u должен следовать логин (если есть), а после -p пароль (если есть). Находим файл testdb.sql в директории с:/mysql/bin и переносим его на сервер провайдера в root-директорию.

     

     

    ЗАКАЧИВАЕМ БАЗУ НА СЕРВЕР

     

    Предполагаем, что на интернет-сервере уже создана пустая база testDB.

     

    Открываем программу Putty. В категории Session в поле Host Name пишете адрес вашего сервера. Протокол - выбираете SSH. И нажимаете на кнопку "Open". Появляется окно терминала… Сначала вас попросят ввести ваш логин, затем пароль… После этого вы пишете такую команду:

     

    mysql -uЛогинДляБазы -pПарольДляБазы testDB < testdb.sql

     

    И, если у вашего хостинг-провайдера сервер настроен как у большинства других, то ваша новая база данных благополучно окажется на своем законном месте в интернете. Если нет, то попробуйте написать в службу поддержки хостинга. Они должны дать вам исчерпывающие объяснения.

     

     

    ПОСЛЕСЛОВИЕ

     

    Несколько этих нехитрых приемов позволяют сэкономить массу времени… Работать вышеописанным способом можно практически с любыми видами баз данных. А любимый веб-интерфейс пригоден лишь для внесения одной-двух новых записей в базу, но никак не сотни, и уж тем более не тысячи… Для этого существует масса более удобных способов, и про один из них я вам только что рассказал!

     

    Пишите мне: syno@narod.ru

    Syno - логотип
    Хостинг от uCoz